Is it then secure if I use the same key for different messages?
Sure; it wouldn't be a very good MAC if a key could be used for a single message.
and why do I need an IV for GMAC?
Because CMAC and GMAC has different internals.
With CMAC, what you do is mostly the same computation as a CBC-mode encryption, except that you retain only the last block (and that's the MAC). I said mostly because if you just do this operation (which is known as CBCMAC), this would allow the attacker to play some games with extending the message - to prevent that, CMAC xor's in some secret data with the last block, foiling such games.
The reason we ask the IV to be different (and unpredictable) in CBC mode is so that the initial block doesn't leak information; CMAC doesn't output the initial CBC-mode block (unless the message fits in one block, and even if so, the xor of the secret data will prevent any such leakage), and so CMAC doesn't share the concern about IVs.
As for GMAC, well, that is entirely different; with that, you logically convert the message into the coefficients of a polynomial $M_k, M_{k-1}, ..., M_1$; then you convert the IV into the constant term $M_0$ in a secret key, and then evaluate the polynomial (in a finite field) at a secret point $H$, that is, you compute:
$$M_kH^k + M_{k-1}H^{k-1} + ... + M_1 H^1 + M_0$$
and that's the MAC. Note that the attacker knows everything, except for the secret values $H$ (which is constant for a given key) and $M_0$ (and the latter depends on the IV).
Now, if you have two MACs for two different messages with the same IV, the $M_0$ values will be the same; you can subtract them out and then solve for $H$ - that gives you all the secrets, and so you can generate messages with valid MAC values at will.
And, at the rather high level I described things, Poly1305 works the same way (and so shares the same weakness for repeating IVs).
In my case I don't encrypt any messages, I just create a MAC which I attach to the message (plaintext). Is this vulnerable?
Any good MAC would be fine - that really is the use case that a MAC is supposed to address [1]. CMAC is fine - GMAC and Poly1305 would also be fine if you avoid repeating IVs.
[1]: Assuming, of course, that the sender and the receiver share the same secret key - if you need something where the receiver cannot generate valid-looking messages, you'll need to look at signatures.