Your solution is basically correct, there are just some special cases that need to be handled. It is not always true that $\wp(z) - \wp(a_k)$ has a simple zero in $a_k$. If $a_k$ is a zero of $\wp'$, then $\wp(z)-\wp(a_k)$ has a double zero in $a_k$, and similar for the poles $b_k$ of course. If none of the zeros or poles of $f$ coincides with a zero of $\wp'$, then the construction goes through without any problems, and you have
$$f(z) = C\prod_{k=1}^n \frac{\wp(z)-\wp(a_k)}{\wp(z)-\wp(b_k)}$$
where the $a_k$ resp. $b_k$ are the zeros resp. poles of $f$ in the fundamental parallelogram for an even elliptic $f$ that has neither a pole nor a zero in $0$.
What if one (or more) of the $a_k$ resp. $b_k$ is a zero of $\wp'$?
In this question, we saw that $\wp'$ has the three distinct zeros
$$\rho_1 = \frac{\omega_1}{2},\; \rho_2 = \frac{\omega_1+\omega_2}{2},\; \rho_3 = \frac{\omega_2}{2},$$
and since the order of $\wp'$ is three, these are all simple zeros, and $\wp'$ has no other zeros (modulo the lattice $\Omega = \langle \omega_1,\omega_2\rangle$). The argument used the oddness and periodicity of $\wp'$, but of course $f'$ is also an odd elliptic function for the lattice $\Omega$, so the same argument yields
$$-f'(\rho_1) = f'(-\rho_1) = f'(-\rho_1+\omega_1) = f'(\rho_1),$$
hence $f'(\rho_1) = 0$, if $f$ doesn't have a pole in $\rho_1$,and similar for $\rho_2$, $\rho_3$. Thus if any of the $\rho_i$ is a zero of $f$, it is a zero of even order (if the order is greater than $2$, divide out one factor $\wp(z)-\wp(\rho_i)$ and repeat the argument), and you include the factor $\wp(z)-\wp(\rho_i)$ only half as often in the product. If one of the $\rho_i$ is a pole of $f$, the same argument for $1/f$ shows that the pole must have even order, and then you include the factor $\dfrac{1}{\wp(z)-\wp(\rho_i)}$ only half as often as the multiplicity of the pole would indicate.
Now, if $f$ has a zero or a pole in any of the $\rho_i$, it may happen that the halving of the factors $\wp(z) - \wp(\rho_i)$ produces a different number of factors in the numerator than in the denominator. But that means that $f$ then must have either a zero or a pole in $0$, so this cannot happen for an even elliptic function that has neither a zero nor a pole in $0$ (sorry, I'd rather have a more elegant proof of that fact, but this will have to do for now).
It's right that the field of elliptic functions $K$ is generated by $\wp$ and$\wp^\prime$. To prove this, you consider the Laurent expansion of these two functions and use a comparison of coefficients and a variant of the Liouville theorem, which states that every elliptic function without a pole is constant. That wouldn't be possible if we used higher powers in the definition of $\wp$.
If we restrict ourselves to the one-dimensional case, there isn't anything like the Liouville theorem, since there are everywhere differentiable, bounded functions, who are nonconstant.
Best Answer
This function (with the sum over $\omega\in\Lambda\color{red}{\setminus\{0\}}$) is commonly denoted $\wp(z)$.
You have $\wp(-z)=\wp(z)$, $$\wp(z)=z^{-2}+O(z^2),\quad\wp'(z)=-2z^{-3}+O(z)\qquad(z\to 0)$$ and $\wp'''(z)=12\wp(z)\wp'(z)$ (follows from $\wp''(z)=6\wp^2(z)-g_2/2$ which in turn follows from well-known $\wp'^2(z)=4\wp^3(z)-g_2\wp(z)-g_3$, or, the more elementary way, can just be deduced from Laurent expansions of $\wp$, $\wp'$ and $\wp'''$ — all the negative powers of $z$ except $-24z^{-5}$ vanish).
This is sufficient. With $z\to 0$ you have $$\begin{align}h(z)&=\big(-2\wp'(a)z-\wp'''(a)z^3/3+O(z^5)\big)\big(z^{-2}-\wp(a)+O(z^2)\big)^2+2\wp'(a)z^{-3}+O(z)\\ &=-2\wp'(a)z^{-3}\big(1+2\wp(a)z^2+O(z^4)\big)\big(1-2\wp(a)z^2+O(z^4)\big)+2\wp'(a)z^{-3}+O(z)\\ &=8\wp^2(a)\wp'(a)z+O(z)=O(z),\end{align}$$ and even easier things at $z\to\pm a$ when the double pole of $\wp(z\mp a)$ is compensated by (the) double zero of $\big(\wp(z)-\wp(a)\big)^2$.