It is indeed a bit tricky. For example if ##3-h=2.999999999 = f(1-h) < 3## as in one of your previous examples, we could and in the example would get ##\lim_{h\to 0}f(1-h)=3.## So all that can happen is, that the limit exists on the boundary: the function values are all smaller than three and the limit is equal to three. But this is all that could happen.
We have ##\dfrac{f(c+h)-f(c)}{h}\leq 0.## Imagine that ##0## be a wall and all points ##\dfrac{f(c+h)-f(c)}{h}## are on the left of this wall. You can get closer and closer to the wall, arbitrarily close by taking the limit, but you will always be left of it or at it; same as ##2.99999999\ldots## will always be smaller than ##3,## and in the limit equal to ##3.##
If there would be a gap, say ##\lim_{h\to 0} g(h)= C+1## and ##g(h)\leq C## for all ##h,## then remember what a limit is. A limit has in every how ever small neighborhood always an element of the sequence that converges to this limit. Therefore, there must be some ##h_0## such that ##|g(h_0)-(C+1)|< 1/3.## Now, show that such a point ##h_0## cannot exist, if ##g(h_0)<C.##