Another way to see that there are four homotopy classes of maps $S^1\times S^1 \to SO(3)$ is to use the fact that $SO(3) = \mathbb{RP}^3$. So by cellular approximation, \begin{align*} [S^1\times S^1, SO(3)] &= [S^1\times S^1, \mathbb{RP}^3]\\ &= [S^1\times S^1, \mathbb{RP}^{\infty}]\\ &= [S^1\times S^1, K(\mathbb{Z}_2, 1)]\\ &= H^1(S^1\times S^1; \mathbb{Z}_2)\\ &\cong \mathbb{Z}_2^2. \end{align*} More generally, the same argument shows that the set of homotopy classes of maps $\Sigma_g \to SO(3)$ is in bijective correspondence with $H^1(\Sigma_g; \mathbb{Z}_2)$. In particular, there are $2^{2g}$ such classes, which is consistent with the statement in the final paragraph of Dan Ramras' answer. As $\pi_2(G) = 0$ for a path-connected, finite-dimensional Lie group $G$, we can attach cells of dimension at least four to $G$ to obtain a $K(\pi_1(G), 1)$ which has the same three-skeleton as $G$. Hence, for any surface $\Sigma$ (orientable or otherwise) we have \begin{align*} [\Sigma, G] &= [\Sigma, K(\pi_1(G), 1)]\\ &= H^1(\Sigma; \pi_1(G))\\ &\cong \operatorname{Hom}(\pi_1(\Sigma), \pi_1(G))\\ &\cong \operatorname{Hom}(H_1(\Sigma; \mathbb{Z}), \pi_1(G)) \end{align*} where the last step uses the fact that $\pi_1(G)$ is abelian. In particular, if $\Sigma$ is an orientable surface of genus $g$, then $H_1(\Sigma; \mathbb{Z}) \cong \mathbb{Z}^{2g}$ and therefore there are $|\pi_1(G)|^{2g}$ such maps. Again, this is consistent with Dan Ramras' answer.