Assume that $(n \circ m)$ is monic and $\exists g_1, g2: (n \circ m) \circ g_1 = (n \circ m) \circ g_2$, then by the monic's definition: $$g_1 = g_2$$ Lemma: $\forall f, g_1, g_2: g_1 = g_2 \implies f \circ g_1 = f \circ g_2$. By the given lemma: $$g_1 = g_2 \implies (m \circ g_1) = (m \circ g_2)$$ Brought all together: $$(n \circ m) \circ g_1 = (n \circ m) \circ g_2 = n \circ (m \circ g_1) = n \circ (m \circ g_2) \implies$$ $$g_1 = g_2 \implies$$ $$(m \circ g_1) = (m \circ g_2)$$ Thus, $n$ is left-cancellabe (monic).
I know that this isn't true and there are many examples when $(n \circ m)$ is monic and $m$ is monic, althought $n$ isn't. But I fail to discover a mistake in the proof above...