I have tried to resolve the question this way:
the function $h$ is continuous on $[a, b]$ then, for the theorem
Bolzano (Weierstrass) it's limited, that there exists $A$ such that for every $x\in[a,b]$ we have $$|h(x)|\le A.$$
From assumption
$$ | L f '(x) + h (x) f (x) | \le | f (x )|,$$
from which follows
$$ |f '(x)| \le \frac{1+A}{| L|}.$$
Let $[c,d]\subset[a,b]$ of length less than
$$\frac{1}{2}\cdot\frac{1+A}{| L|}= \frac{B}{2}$$
and such that
$$f(c)=0$$
We know that in a range with these properties exists (in fact just take for example $c = a$).
Now, if $x_0\in[c, d]$ we can write,
$$|f(x_0)-f(c)|=|f'(x_1)||x_0-c|\le\frac{B}{2}\cdot\frac{|f'(x_1)|}{B}=\frac{|f(x_1)|}{2} \frac{B}{2}$$
Repeating this reasoning we thus find a sequence $(x_n)$ is strictly
decreasing and such that
$$f(x_0)\le \frac{|f(x_1)|}{2}\le \frac{|f(x_2)|}{2^2}\le\cdots\le \frac{|f(x_n)|}{2^n}$$
Obviously, this last inequality (here we use the fact that $|f(x_n)|$ is limited) implies
$$f(x_0)=0$$
To complete the solution is sufficient to cover $[a, b]$ with finite number of
subintervals of length less than $\frac{B}{2}$ and use the fact that $f$ is zero on each subinterval.
We note that the same conclusion holds if we assume $h$ limited and not necessarily
continuous on [a, b].