How come the commutator of $J^2$ (momentum) and $J^{\pm}$ (ladder operator) is zero while they don't have simultaneous eigenfunctions? We know that $J^2$ has eigenfunctions which are the spherical harmonics, and these spherical harmonics definitely aren't eigenfunctions for $J^+$, because $J^+$ acting on one spherical harmonic increases it's "$m$" by 1. Hence, we can say that $J^2$ and $J^+$ don't have same eigenfunctions. Yet we see that the commutator of $J^2$ and $J^+$ is equal to zero which means they are compatible! Meaning they have simultaneous eigenfunctions. Contradiction. Where is the flaw I made?
 A: The $J_+$ operators do not change the eigenstates for $J^2$ operators. Usually, in the systems you mentioned the eigenstates are characterised by two operators $J^2$ and $J_z$. Hence each state has two labels $|m,j> $. m is the eignevalue for $J_z$.
But you see, states with different $m$ values but same $j$ values are indistinguishable by the operator $J^2$ since it's only sensitive to $j$ value. So each eigenstate of $J^2$ is actually a degenerate state comprising of $(2j+1)$ number of distinct $J_z$ eigenstates. And the operator $J_{\pm}$ changes one of these states to the other. So, that doesn't really change the eigenstate of $J^2$. Hence, it's consistent.
A: Even before we get to the Casimir $\vec{J}^2$ there is an obstacle: The raising/lowering operators $J_{\pm}=J^{\dagger}_{\mp}$ are not normal operators, and hence not diagonalizable in an orthonormal basis of eigenvectors/eigenfunctions (except for a 1-dimensional Hilbert space ${\cal H}\cong \mathbb{C}$ or a 0-dimensional Hilbert space ${\cal H}\cong \{0\}$).
