How come I am reading 120 between each hot and ground and 0 between 2 hots. What is this an indication of? Thanks! (i'm in USA)
Call the power company and report an outage
You lost a phase. (one of the two hot wires from the service).
I can tell, because if someone had been monkeying around in the service panel just prior to the water heater breaking, you would have mentioned that, yes? I hope no one is making a monkey out of me!
What happened is, when the phase was lost, the water in your heater cooled, and so, the heater switched on. The heater didn't know this was a waste of time, so it still switched on. The water heater is a low resistance (~10 ohm) heating element that connects the two phases to each other. So, the formerly dead phase is now being energized through the water heater's heating element.
That means the dead phase "comes back to life" for 120V loads, at least modest enough ones. Wouldn't run a hair dryer (itself 10 ohms) very well, but it will work for TV, laptop, cell phone chargers etc. Fair chance you wouldn't notice.
Your measurement of 0V between the hot terminals pretty much confirms it.
The service drop wires are in the weather and wind, and break all the time.
Turn off all your 240V loads. At this point, half the circuits in your house will be stone dead. Call the power company's emergency line and report half the circuits in your house dead (don't mention the breakers you turned off). They'll roll a truck immediately, unless they have their hands full fixing hurricane or ice storm damage.
A common reason for this problem is 1/2-size breakers used incorrectly. Normally a panel has alternating legs with each pair (left/right) first on one leg, next row on the other leg, next row back to the first leg. If you install 1/2-size breakers ("duplex", "double stuff", "tandem") then they share the same leg because they are "2 in 1".
Where it gets interesting is "quad" breakers - 4 in 1. In this situation, normally the top pair is one one leg and the bottom pair is on the other leg. The result is that the inner pair gets 240V and the outer pair gets 240V. However, if the wires are matched to breakers incorrectly, or if the breaker is installed incorrectly (which should never happen, but it can) then you can end up with 0V between a pair that should have 240V.
The other possibility is that a 240V circuit that should be two breakers that are connected together (either a "double breaker" or at a minimum "handle tied" so that you can't turn off one without turning off the other) is instead wired to two separate breakers that are next to each other. Everything is fine (except the safety hazard of not always turning off both breakers at the same time) until breakers get rearranged and they happen to end up on the same leg.
A picture of the panel would probably lead to an exact diagnosis.
It means at both points you are measuring the same leg.
This can happen when both leads are on the same leg in the panel or if one hot leg is connected to the heater you can see the full voltage of the hot connection through the heater. There could be many causes for one leg to be hot and the other open; a thermostat off or failed, failed breaker connection, misaligned breaker termination with one leg off, failed splice, partially cut cable.