'Starving' is more extreme than 'hungry'. Originally, the word verb 'starve' meant 'die' in its broadest sense, but in modern English it means 'dying of hunger'. If a person actually starves, it means that they die from lack of food.
In casual idiomatic speech, we use the word 'starving' to mean extremely hungry.
"Are you hungry?"
"Hungry? Are you joking? I'm absolutely starving! I haven't eaten all day."
Obviously this is a deliberate exaggeration, as the person who says that they are starving is not literally dying of hunger - they are just extremely hungry. Similar pairs of words to hungry/starving are hot/boiling and cold/freezing.
Are you cold? Yes, I'm absolutely freezing!
Was it hot when you went to Spain? Yes, it was boiling.
Again, these are obvious exaggerations. In each case, the neutral word (hungry, cold, hot) is a gradeable adjective, while the 'extreme' word (starving, freezing, boiling) is ungradeable.