According to a definition given by my professor:
Message authentication methods verify that the message is from the right sender, however they don't guarantee non-repudiation.
To me this sounds like a contradiction, what does "right sender" mean?
When Alice and Bob are using a message authentication code (MAC) scheme, both of them have the shared MAC key, and both of them can generate valid MAC tags. Between Alice and Bob, they can be sure who is the sender. For example, if Bob receives a message with a valid MAC, and the message was not sent by himself, then the message must come from Alice. Hence "Message authentication methods verify that the message is from the right sender". Here essentially, MAC enables private verifiability among the two parties.
However, non-repudiation is about convincing a third party (or requires public verifiability). A third party, without the MAC key, when seeing a message with a MAC cannot verify the MAC is valid. Hence it has no way to decide who was the sender. Even if Alice and Bob give up the key, the third party can only say the sender is either Alice or Bob, since both of them can generate the tag. Thus Alice and Bob can always deny she/he was the message sender (and say the sender was the other party).