When talking about a particular food or meal, eat and have can function interchangeably most of the time. Of the two, have is the more versatile and generic word:
Let's start with your last example:
I'm eating pizza now. Let me call you back – I don't want my pizza getting cold.
I'm having pizza now. Let me call you back – I don't want my pizza getting cold.
I see no real difference in those two statements. I think I'd be more likely to use the first, but the second wouldn't jar my native ear.
Then your breakfast example:
I eat breakfast every day at 8 o'clock.
I have breakfast every day at 8 o'clock.
Once again, either one of those is okay, although the second sounds a little bit more formal for some reason. In its seventh definition for have, Macmillan mentions:
have (verb) [TRANSITIVE] [NEVER PASSIVE] to eat or drink something. This word is often used in polite offers and requests
- Can I have another piece of that delicious cake?
- Let me buy you a drink. What’ll you have?
- Why don’t you stay and have lunch with
us?
I’ll have (=used for requesting food or drink in a restaurant): I’ll have the roast beef, please.
There are a few places where the two words aren't interchangeable. The end of that definition gives one example; if I was ordering at a restaurant, I wouldn't say, "I'll eat the roast beef, please." That might be true, if that's what I'm ordering – but it's simply not idiomatic to say it that way.
Another clue is that have is always transitive. So, it's perfectly fine to say:
I'm starving – let's eat!
but you wouldn't be able to say:
I'm starving – let's have!
Here's one more odd case:
I'm hungry; let's have at that hamburger place.
I'm hungry; let's eat at that hamburger place.
In this case, we can't use have to mean eat, because we're not using the word transitively. We can fix that by saying:
I'm hungry; let's have hamburgers at that place.
However, the first is not necessarily grammatically incorrect, because we could be using the phrasal verb have at. NOTE: This would be a very informal usage of have at, but I give it a mention because it shows how complex and flexible English can be, especially when dealing with informal expressions and eating food. When I was in college, one of my roommates might have said:
I'm hungry; I think I hear hamburgers calling my name!