This is what I have tried so far:
Since $g(z)$ is bounded, then $\lim\limits_{z\rightarrow 0} zg(z)=0$ and hence $z=0$ is a removable singularity of $g(z)$. We can define $g(0) = \lim\limits_{z\rightarrow 0} f(z)f(\frac{1}{z})$ and make $g$ entire.
Then $g(z)$ is a bounded entire function and hence $g$ is a constant function. In other words, $f(z)f(\frac{1}{z}) = c$ for some $c\in\mathbb{C}$ and for $z\neq 0$
I don't know how to continue from this step. I tried to prove that $f(\frac{1}{z})$ has either a pole or a removable singularity at $z=0$ to show first that $f(z)$ is a polynomial or a constant but I failed.
Suppose that $c \neq 0$, or the equation $f(z)f(1/z)=c$ has only zero solutions. $f$ is analytic, so it has a zero of order $n$ at $z=0$, where $n$ can be zero. Since $c \neq 0$, $f \neq 0$ since $f(1)^2=c$, for example.
Then $h(z) = f(z)/z^n$ can be extended to an entire function by adding the value $h(0) = \lim_{z \to 0} f(z)/z^n$. Moreover, it is easy to see that $h(z)$ satisfies the same functional equation as $f$. So $$ h(z)h(1/z) = c, $$ and $h(z) \to a \neq 0$ as $z \to 0$. But then $h(1/z) = c/h(z) \to c/a$ as $z \to \infty$. But this means that $h$ is an entire function with a finite limit at $\infty$, so it is bounded, and hence constant. So $h(z)=a$, and $f(z)=az^n$.