Let $k=f'(1)$. Define $f_a(z)=f(az)=f(a)f(z)$. Differentiating by $z$ we get:
$$f_a'(z) = a f'(az) = f(a) f'(z)$$
Setting $z=1$, we get that $a f'(a) = k f(a)$ for arbitrary $a$. Writing this as an equality of power series and we get, that $k$ must be a non-negative integer, and that $f(a)=a^k$, or that $f(a)=0$ for all $a$.
[This assumes that $f$ is defined on $1$ and $0$. Obviously, there are examples where it isn't defined on $z=0$ - the cases where $k<0.$]
If $f(1)$ is defined, then we don't need $f(0)$ because we can rewrite the above as: $f'(a)/f(a) = k/a$ when $a\neq 0$ and $f(a)\neq 0$. But the left side is the derivative of $\log f(z)$ for some branch of the natural log, and the right side is the derivative of $k \log z$ for some branch of $\log$. So $f(z) = e^{\log f(z)} = K e^{k \log z} = K z^k$ in some region around $a$, and hence all of the domain of $f$ (assuming the domain is connected?)
If $f(a)=0$, on the other hand, then $f(ax)=0$ for all $x$ near $1$, which would mean that $f$ is zero on some ball around $a$, so $f$ is identically zero.