I add an approach of using Liouville's theorem, which I guess is more general (but a bit complicated in this case).
If $f(z)\not\equiv0$, we first claim that the only place that $f$ can vanish is $z=0$. Assume not, then there is a nonzero $z$ where $f(z_0)=0$.
- If $|z_0|\ge1$, then we pick $z_1\in\mathbb{C}$ such that $z_1^2=z_2$ and $z_1$ has half of $z_2$'s argument. Note $f(z_1)=0$ since $|f(z_1)|\le|f(z_1^2)|=0$. We can thus construct a sequence $\{z_n\}$ where $z_{n+1}^2=z_n$ and $z_{n+1}$ is having half of $z_n$'s argument. This sequence will converge to $1$ finally, and this means the zero set of $f$ has a limit point. By identity principle, $f$ is zero function.
- If $|z_0|<1$, then we construct a sequence by setting $z_{n+1}=z_n^2$, then this sequence will converge to 0, and again by identity principle we get $f$ is zero function.
So $f(z)=0$ can only have solution $z=0$. Then we claim that $|f(z)|\le|f(0)|$ for some $z\in D(1)$. This can follow Conrad's argument, or above answer. By the above argument, $f(0)$ cannot be 0, or otherwise, there is infinite zero. Hence, $f$ is nowhere vanishing. Now, by our argument
$$|f(z)|\le|f(z^2)|\implies \dfrac{|f(z)|}{|f(z^2)|}\le 1$$
By Liouville's theorem, $\dfrac{f(z)}{f(z^2)}$ is bounded function and entire, so this can only be constant function, i.e. $f(z)=kf(z^2)$. By the given inequality, $|k|\le1$.
- If $|k|<1$, then apply same trick as above, we consider the sequence keep square-rooting, then $|k|^n\to0$ as $n\to+\infty$, forcing $f$ vanishing at some $z$, so $f(z)\equiv0$.
- If $|k|=1$, then $|f(z)|=|f(z^2)|$. So we again pick some point in $D(1)$, which makes $z_n\to1$ as $n\to+\infty$. The limit point here forcing $f$ to be the constant $1$ function.
If $f(z)\equiv0$, then we are done. So $f$ must be constant.