For whatever reason it comes as a surprise to people that long meetings don’t tend to proceed well.
The longer people sit in meetings, the less self-control they’ll exhibit. This is basic human psychology, we all have to exhibit self-control in situations that aren’t pleasant. And self-control is like a battery, it eventually becomes depleted.
So the solution is simple if you have meetings that aren’t going well because of duration. Set a time limit and prioritize the agenda, when the time is up, the time is up.