The present perfect puts the focus on the consequence and not the action itself, and it is relevant in the present at the time of saying it. So you're correct in saying it answers something like why a person is hungry - because they haven't eaten since the morning.
The present perfect progressive puts the focus on the action itself, and specifically that it started in the past and is still going on. If you say your sentence in the positive "I have been eating since morning," you're saying that since the morning you've been continually snacking and eating, pretty much without stop. In the negative "I haven't been eating since the morning," you're saying that you haven't spent your entire day eating food. So it feels weird that you would have to point this out since it's rare for people to eat constantly and continually all day long.
Other examples could be: If you stopped taking baths long ago to take showers instead, "I haven't taken a bath since I was 12 years old" is correct. "I haven't been taking a bath since I was 12 years old" is incorrect, very few people take 20 year long baths, there's no reason to say this.
Today is Saturday and you could say "I haven't talked on the phone since Wednesday." However "I haven't been talking on the phone since Wednesday" is incorrect, unless somebody just accused you of being on the phone for the past four days straight.
Is that clear?
(not a teacher, just a language lover)