For part a), we can ensure that $g(z)$ does not have a zero in the neighbourhood of $0$ that we choose by choosing a small enough neighbourhood.If $g$ had zeros in every neighbourhood of $0$, then $0$ would be a limit point of zeros of $g$, and hence we would have that $g(0)=0$ by continuity. (In fact we would have that $g$ is identically $0$, since non-constant analytic functions have isolated zeros.)
For part b), we can modify my argument in this question:
Prove that a function that satisfies $f(x^{2^{n}})=f(x)^{2^{n}}$ is constant given $f(0)=1$
Define the function
$$
h(z) = z \, \frac{f^\prime (z)}{f(z)}
$$
We note that
$$
h\left( z^2 \right) = z^2 \, \frac{f^\prime \left(z^2 \right)}{f\left(z^2 \right)} = z \, \frac{f^\prime (z)}{f(z)} = h(z)
$$
for all complex numbers $z$ where $h$ is defined.
We have shown that $h$ is analytic in a neighbourhood of $0$.
We also note that you derived that
$$
h(z) = m + z \, \frac{g^\prime(z)}{g(z)}
$$
where $m \geq 1$ is the order of $f$ at $0$. This gives us that $h(0) = m$, and so we can write
$$
h(z) = m k(z)
$$
where $k$ is some function analytic in a neighbourhood of $0$ such that $k(0) = 1$. We can check that $h \left( z^2 \right) = h(z)$ gives us that $k \left( z^2 \right) = k(z)$.
Since $k$ is analytic in a neighbourhood of $0$, there is a ball $B = B(0, \varepsilon)$ on which $k$ is analytic, and we can choose $\varepsilon$ so that $\varepsilon \leq 1$.
Then for any $z \in B$, we have that $|z| < 1$, and so by following the argument in the question I linked, this gives us that $|k(z)| = 1$.
Thus $|k(z)|$, and hence $|h(z)|$ is constant on $B$, and as noted in the linked question, it is a well-known fact that this implies that $h$ itself is constant on $B$. We see that $h(z) = m$ for all $z$ in $B$.
But we have that
$$
h(z) = m + z \, \frac{g^\prime (z)}{g(z)}
$$
for all $z$ in $B$, and so it follows that $g^\prime (z) = 0$ for all $z \neq 0$ in $B$. Thus $g$ is constant on $B$, and so $f(z) = c z^m$ for all $z$ in $B$, where $c = g(0)$ is some constant.
But then it is a standard argument that this then implies that $f(z) = cz^m$ for all complex $z$. Indeed, the zeros function $z \mapsto f(z) - cz^m$ has a limit point, and so $f(z) - cz^m$ must be identically $0$.
Of course the standard argument to show that if the zeros of a function have a limit point then the function is identically $0$ goes by considering the Taylor expansion of the function around that limit point to show that the function is identically zero in a neighbourhood of that point, so this answer is probably just hiding the computations with Taylor series from the other answers that have been posted.