This is not true unless we assume $f$ is continuous.
Note first that we can use the relation at several points simultaneously to derive the following equation:
$$f(x)-(-1)^nf(x^{2
^n})=\sum_{i=0}^{n-1}(-1)^i\left(f(x^{2^i})+f(x^{2^{i+1}})\right)=\sum_{i=0}^{n-1}(-1)^ix^{2^i}.$$
Now, suppose we define a set $S_x=\{\pm x^{2^n}:n\in\mathbb Z\}$ where $x$ is a positive real number other than $1$. We can use the above equation to determine the value of $f(y)$ from $f(x)$ for every $y\in S_x$ - this follows from observing that $f(x)-f(-x)=f(x)+f(x^2)-f(x)-f(x^2)=x-(-x)=2x$ and using the relation above, noting that it is both necessary and sufficient (and satisfiable). Note that $f(y)$ always depends on $f(x)$ linearly (and non-trivially). As $S_x$ is countably, this implies that, for any $\alpha\in \mathbb R$, we can choose $f$ on $S_x$ such that $\alpha \not\in f[S_x]$.
Note that, since if $y\in S_x$ we have $y^2\in S_x$ and conversely if $y^2\in S_x$ then $y\in S_x$, it actually suffices to show that $f$ satisfies the relation on each $S_x$ individually. However, if we choose $\alpha$ to be neither $f(0)=0$ nor $f(1)=\frac{1}2$ and then fix $f$ to miss this value on every $S_x$ (using the axiom of choice), we find that $f$ is actually not surjective.
If $f$ is continuous, then showing it is surjective amounts to showing that it is neither bounded above nor below.
Choose some $x>1$. Observe that if we divide the first equation in the post by $x^{2^{n-1}}$ and then take a limit as $n$ goes to $\infty$, observing that since $x^{2^n}$ grows faster than any exponential function, we can actually cancel almost the whole sum, we get:
$$\lim_{n\rightarrow\infty}\frac{f(x^{2^n})}{x^{2^{n-1}}}=1.$$
Thus, $f$ is unbounded above. However, this then gives that
$$\lim_{n\rightarrow\infty}\frac{f(-x^{2^n})}{x^{2^n}}=\lim_{n\rightarrow\infty}\frac{f(x^{2^n})-x^{2^n}}{x^{2^{n}}}= -1.$$
so $f$ is also not bounded below.
One might also note that you can actually write down an equation for $f$ if it is continuous* using the first equation cleverly (basically, sending $n$ to $-\infty$) and noting that $f(1)=1/2$ from $f(1)+f(1^2)=1$. You have to deal with a convergence issue subtly (hence the subtraction in the sum), but otherwise we have, for $x>0$ that:
$$f(x)=\frac{1}2-\sum_{i=1}^{\infty}(-1)^i(x^{2^{-i}}-1)$$
Then $f(0)=0$ and $f(-x)=f(x)-2x$.
We can also, for $|x|<1$, sending $n$ to infinity in the first equation, derive a power series around zero:
$$f(x)=\sum_{i=1}^{\infty}(-1)^ix^{2^i}.$$
Unfortunately, it is not particularly clear whether the two definitions of $f$ actually agree anywhere, so it's hard to say whether this defines a continuous function.