Well, a few approximations here.
Lots of countries have more than one time zone (US, Russia, obviously. But even mine, France. And not only because of our oversea territories. Ouessant, which is 15 miles from continental France, has its own time zone. I guess there are some strange "exception" like that everywhere. I know there are some in US. Where some small cities have their own timezone, surrounded by another timezone)
Another approximation, is that timezone are (except for one exception, I don't recall where) separated by a integer number of hours. So time in A's watch is 11:00 and in B's watch 12:00, not 11:30
But it doesn't matter.
So, apart from those approximation, sure, you're right: if what we want, over any other consideration, were anyone to live with a time that perfectly match the "phase of the day" (for example to have a watch display 12:00 when the Sun is at its highest point), then, there would never be any of the discontinuity you describe (2 people living a few meters for each other, and having different time)
But that would not give an extraordinary advantage. I mean, do you have the feeling to be so accurately related to the Sun? If that were the case, nobody would need a watch, anyway.
So, the point is it doesn't change a lot to live 1 hour before or after.
And that would be painful. That would meen that there is an infinity of timezone!
Each time you walk 1 step toward the west, you have to change the time of you watch (0.003 seconds less).
Each time you drive a dozen of mile, you have to change the time of your watch (1 minute, more or less, depends on the direction you drive and your latitude)
Nobody (except the people who live on the very same meridian as you are) will have the same time as you.
Impossible to look at a TV program without doing very precise calculation. The delay between the indicated hour and the real hour would be different for any person)
So, the compromise is to create timezone that are large enough, to have the comfort to have the same time in a large zone (as long as you stay in the zone, you don't change time. If your TV emetter is in the same timezone as you are, no computation to do).
And small enough, so that the difference between the official time in the time zone, and the "real" time (phase of the day) is not disturbing.
Timezone of 1 hour (that is approx 1000 miles, at the equator) are a good compromise. 1000 miles is large enough so that most of the countries, as you said, can fit entirely in it. So no time change in the whole country.
(And if the country is bigger, it still have the option to have a difference greater that 1 hour between the "sun time" and the official time. Even 2 hours is still not very disturbing. Even China have a single timezone !)
And is small enough to be not disturbing (if your watch display 11:30 or 12:30 when the sun is at its highest point, you wont even notice. It is not like we were asking you to have your midday lunch at 17:00)
Plus, timezone of 1hour, exactly, makes it easier to compute differences when you have to switch from one timezone to another (when you travel, when you chat with your neighbor the other side of the border, when you watch a TV from a station located at another timezone, etc).