Back in the day, every single meal had to be prepared from scratch. To feed large families, staff and/or communities more effectively there was division of labour. A few people cook, others do different work and show up at given times to eat together.
A proper schedule is essential when many people have to physically live and work together in the same space and time. It has nothing to do with biology, and everything to do with economics and practicality. Also, don’t forget the benefits of the bonding that takes place when people gather for a meal. It makes for a stronger family/community.
Imagine a tribe where everyone ate at random, different times. Nothing would ever get done. Imagine a job that takes two people such as pulling a felled tree through the forest. You’re pulling it back to the tribe. Suddenly the other person decides he is hungry and goes and eats. You sit down for an hour and he gets back. You pull the tree some more then now you’re hungry. He sits down for another hour while you go off to get food.
You can see how this changes from region to region. Different places can have different appropriate times for lunch or dinner. In Chile I’d have lunch at 1-2, but in Mexico most people have it at around 3-4, while in Canada I see them eat at noon. It’s not weird, but those times can be dictated by environment – the closer to the equator, the less likely things will be happening at noon. Your job would also be a big factor; miners would probably just eat whenever they were hungry as there’s no sun to follow and timekeeping methods would be expensive to use (e.g candle clocks) while sailors would probably eat whenever they weren’t busy with other time sensitive jobs (e.g. fishing). But it’s the industrial revolution and the mechanization of society that cemented concrete times for meals based on breaks and start/ends of shifts.