generators and monoid homomorphisms Is it true that any homomorphism $f: M \to N$ between two monoids $M$ and $N$ maps generators of $M$ to generators of $N$? I am having trouble proving it to myself.

It has no reason to be true : 
If you consider the monoid on one generator, $M = <a>$. Note that $M$ is isomorphic to $\mathbb{N}$, associating to each word $w = aa\ldots a$ the number $n$ of $a$ in that word. We consider morphisms from $M$ to itself, then we can send $a$ to however many $a$'s we want
For instance, if you send $a$ on $a$, you get the identity morphism, it works. But if you chose to send $a$ on $aa$, then you also get a monoid morphism, which associates to each word $w=aa\ldots a$ of length $n$, the word $w'=aa\ldots a$ of length $2n$, containing twice as many $a$'s. Through the previous isomorphism with $\mathbb{N}$. This corresponds to the monoid endomorphism of $\mathbb{N}$ defined by $f(n) = 2n$.
Similarly, if you chose to send $a$ on the word containing $k$ times the letter $a$, then you define the monoid endomorphism of $\mathbb{N}$ $f(n) = kn$.
These are all perfectly valid morphism, and only the identity sends the generators on the generators. And it stays false if you add more generators
