The sentence
Ich bin Hunger
translates to
I am hungry
which seems right, whereas
Ich habe Hunger
translates to
I have hunger
Why do Germans own or possess hunger?
Note that the German word Hunger is a noun. Just as you'd not say I am hunger in English, you most likely would not say I am hunger in German.
Ich bin hungrig is legal and works, but is less common than Ich habe Hunger.
The same goes for being thirsty:
Ich habe Durst
Ich bin durstig
Both of the above are valid but the former is far more common.
It's no different than English, really.
hungrig is an adjective meaning hungry. Hunger is a noun meaning hunger(appetite).
Thus, "Ich bin Hunger" quite literally means "I am hunger", which makes no sense in either language.
"Ich bin hungrig" means, just as in English, "I am hungry."
Additionally, you can also say "Ich habe Hunger", literally translating to "I have (got) hunger."
Admittedly, this is not good English, but one could understand it. But I can talk about how "you've got an appetite", so I don't think there's anything particularly strange about the German expression.
Hunger can be described as a feeling - "I feel hungry" for example. You possess feelings. Therefore "I have hunger" works.
To go into why Germans possess Hunger vs are hungry. It is a separation of self kinda thing.
I'm me. And my body is hungry. I have a body that is hungry. So via indirection I have hunger or I'm afflicted with hunger or a hungry body.
If you are or identify with your body then you are hungry. But if you identify with your spirit then you cannot be hungry but you can possess a hungry body.
I am hungry
translates toIch bin hungrig
(which is perfectly valid German) instead ofIch bin Hunger