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].