If I wanted to say that I am not hungry I could leave out the "no more" so shouldn't the "no more" cancel out the "not hungry" to mean that you are hungry. However other examples, like "I don't love her no more", still make me think that the meaning doesn't change but I don't see how this is grammatically correct and think "anymore" should be used instead. "I am not hungry anymore." So why dont the two negatives in the original sentence cancel each other out?
Grammatically speaking, in standard/formal English a negative negates something. Two negatives together form something called a double negative, where the second negative reverses the first one. This is not the case in all languages, but it is in formal/standard English.
The sentence you propose means that you are [no longer] [not hungry], which means that you were "not hungry", but this is no longer the case (so you are hungry now). Also, "following the rules", the example provided by @SovereignSun in comments "We don't need no education" actually means "We [do not need] [a lack of education]", i.e. "we are open to getting some education". Obviously, the intended meaning is "We don't need any education". I suspect this may be part of the protest message of the song - using "ungrammatical English" to state a dislike for rigid school rules.
Colloquially, however, double negatives are often taken to mean, or even to emphasise, the negative, especially in certain dialects. E.g. "I don't know nothing" would be taken to mean "I don't know anything", not "I know something" (which is what it means in standard/formal English). Most double negatives that you will hear employ this use of negative concord to mean or emphasise a negative meaning. However, as this is a colloquial meaning, it should not be used in formal English, and can make you sound "uneducated" to some ears.
Just to add extra confusion, there are times where double negatives are used grammatically to good effect, where everyone would understand you (especially spoken with appropriate emphasis). E.g. "I couldn't not help him", which means I had to help him.
As is the case with many things, context is required to understand the meaning of a double negative. A good example of this would be the phrase "can't do nothing", which would rely entirely on context for you to understand the intended meaning. It could be used either as a positive:
We can't do nothing! We've got to do something to help!
Or (colloquially) as a negative:
It's broken, I can't do nothing to fix it.
Because of this potential for confusion (especially out of context), and because negative concord is used colloquially, but not formally, I would in general not recommend using double negatives.
So therefore, you can use "I am not hungry no more" and people will understand what you mean, but saying "I am not hungry any more" is more grammatically correct, and is the form you should use in formal prose.
It seems you've observed two phenomena related to negation which look similar but do not have the same meaning:
This is a completely normal way of negating sentences in some English dialects and can also be used to emphasize a negative statement in others. However, this would never be I am not hungry no more but rather I'm not hungry no more or even I ain't hungry no more, both of which mean the same as I'm not hungry any more in English as learned in most textbooks — the fact that you have to use contractions is a hint that it's not acceptable in formal English.
The way you use negative concord is to use the negated version of each part of the sentence which has a negative counterpart, e.g. We don't need no education: The same sentence with all the negated parts replaced with positive-polarity ones would be We need some education, because don't ("do not") is the negation of phrases headed by the verb do, and both no and some are quantifiers for the noun education. This is analogous to how it's done in languages for which negative concord is used even in formal contexts, e.g. Russian's nam ne nuzhno nikakovo obrazovaniya (нам не нужно никакого образования) (literally "we don't need no education").
This phenomenon is a bit trickier to understand — It's when a negative statement is negated itself, typically in conversation:
- Waiter: (To Bill) Can I offer you some more filet mignon marinated in a truffle-shiitake mushroom sauce?
- Ted: No, it's all right: Bill isn't hungry any more.
- Bill: I'm not not hungry anymore!— What on Earth are you talking about? (Bill actually wants the filet mignon very much)
Note that I am not hungry no more can't be used for logical double negation in this way, either: The way you form a logical double negation is to actually use phrasal negation twice, e.g. He isn't not hungry or We don't not need education. As a native speaker, I interpret I am not hungry no more as having the same meaning as I'm not hungry any more but it sounds very strange because it involves the full forms I am rather than the contraction I'm, as explained above.
Lastly, what's even more subtle and often confusing is that, sometimes, even what looks like a "logical" double negation doesn't have the same pragmatic meaning as the "logical positive" of the statement:
- Bill likes John — "John is a person whom Bill likes"
- Bill doesn't like John — "John is not a person whom Bill likes"
- Bill doesn't not like John — Note that this doesn't mean the exact same thing that Bill likes John does: In reality, it actually means something more like "Bill doesn't like John, but he doesn't dislike/hate John either".