Yes, $M$ must be naturally isomorphic to the identity. The trick is to use the other unit identity together with naturality of $\mu$. Rather than explicitly constructing an inverse to the unit as you have done, let me give a slightly less direct argument that I think is clearer.
Let $u:id_C\to M$ denote the unit of the monad. The two unit identities then say that $$\mu\circ uM= \mu \circ Mu = id_M.$$ On the other hand, since $M$ is full, the morphism $u_{MX}$ is in the image of $M$ for any object $X$. Then, naturality of $\mu$ with respect to $M^{-1}(u_{MX})$ says that $$uM\circ \mu = \mu M \circ MuM.$$ But now by the second unit identity we have $$\mu M\circ MuM= (\mu \circ Mu)M=id_M M=id_{MM}.$$ Thus we have shown $\mu$ is a two-sided inverse to $uM$. Finally, since $M$ is essentially surjective and $uM$ is an isomorphism, $u$ is an isomorphism as well.