Do commuting operators always share the same eigenfunctions?
If two operators commute, then there exists a basis for the space that is simultaneously an eigenbasis for both operators. 

However, if one of the operators has two eigenvectors with the same eigenvalue, any linear combination of those two eigenvectors is also an eigenvector of that operator, but that linear combination might not be an eigenvector of the second operator.

As an example consider the states $|l,m\rangle = |1,1\rangle$ and $|l,m\rangle = |1,-1\rangle$. These are both eigenvectors of $\hat{L}^2$ and $\hat{L}_z$ (the angular momentum operators).

The eigenvalues of $\hat{L}_z$ are $\hbar$ and $-\hbar$, respectively, but the state
$$|1,1\rangle + |1,-1\rangle$$
is clearly not an eigenvector of $\hat{L}_z$, but it is still an eigenvector of $\hat{L}^2$. This is probably why we use the term "mutual" rather than "same". Finally, we form linear combinations of the $|1,m\rangle$ states to get the $l=1$ states that are eigenvectors of, say, $\hat{L}_y$.

As a straight-forward example, consider the following two matrices:
$$L = \left[ {\begin{array}{ccc}
0 &amp; 0 &amp; 0 \\    0 &amp; 1 &amp; 0 \\    0 &amp; 0 &amp; 1 
\end{array}}
\right]$$
and
$$Z = \left[ {\begin{array}{ccc}
0 &amp; 0 &amp; 0 \\    0 &amp; 1 &amp; 0 \\    0 &amp; 0 &amp; -1 
\end{array}}
\right].$$
The vectors $(1,0,0)$, $(0,1,0)$, and $(0,0,1)$ are eigenvectors of both operators. The latter two are eigenvectors of $L$ with the same eigenvalue (namely $1$), but they are eigenvectors of $Z$ with different eigenvalues (namely, $1$ and $-1$). If we instead use the vectors $(0,1,1)$ and $(0,1,-1)$, these are still eigenvectors of $L$ with eigenvalue $1$, but they are no longer eigenvectors of $Z$, as you can verify.