Assume to the contrary that there is a function $f$ that satisfies the conditions that is not constant, so there are some $x_0,a,b\in \mathbb{R}$ with $a>0, b\ne0$ such that
$$ f(x_0+a)=f(x_0)+b
$$
Since $f$ is continuous there is a $\delta>0$ such that $|f(x_0+a+d)-f(x_0+a)|<|b|/2$ for all $d\in(-\delta,\delta)$.
Choosing $N$ such that $2^{-N}<\delta$ we can find $D\in[0,\delta)$ so that $2^N(a+D)=K\in \mathbb{Z}$, i.e. so that we can divide the interval $[x_0,x_0+a+D]$ into $K$ equal parts of length $2^{-N}$.
Then
$$
|f(x_0+a+D)-f(x_0)|>|b|/2\\
|f(x_0+K 2^{-N}) - f(x_0)|>|b|/2
$$
so considering the changes in $f$ in each interval $[x_0+j2^{-N},x_0+(j+1)2^{-N}]$ for $j=0,1,\ldots,K-1$ there must be a $j$ that satisfies
$$
|f(x_0+(j+1)2^{-N})-f(x_0+j2^{-N})|>\frac{|b|}{2K}
$$
Similarly, for any $n>N$ we have $2^n(a+D)=2^{n-N}K$ and there must be a $j\in\{0,1,\ldots,2^{n-N}K-1\}$ that satisfies
$$
|f(x_0+(j+1)2^{-n})-f(x_0+j2^{-n})|>\frac{|b|}{2^{n-N+1}K}
$$
that is, writing $X=x_0+j2^{-n}$,
$$
h_n(X) = 2^n|f(X+2^{-n})-f(X)|>\frac{2^{N-1}|b|}{K}
$$
But this is impossible, since the right side is a fixed positive number whereas we must have $h_n(X)\rightarrow 0$ as $n\rightarrow \infty$. Hence our initial assumption must be incorrect, and there cannot be a non-constant $f$ with this condition on $h$.