The reason is to help avoid multiple bookings for each meal, breakfast, lunch, dinner. Etc. It has nothing to do with how far apart the meals are. The lunch hours are usually 11am or 12pm until 2:30, 3pm or 3:30pm.
You can eat at 2pm and 5pm if you wish since they would be considered lunch and dinner
There were so many double bookings of restaurants for the same day / same general time that a lot of people were shut out of restaurants and then all of a sudden either the restaurants had a lot of no shows or people cancelled last minute, the considerate ones