There is nothing in principle preventing players from long tournaments. Or maybe yes if they are way too long, like the first Karpov - Kasparov match (had to be postponed for health reasons), but these cases are far from the norm.

If we stick to the elite games, I would say that the main reasons why tournaments have become shorter is that there are many more tournaments to choose from! Every organizer wants the best players to play at them, at making the event longer would result in the players occupying a larger fraction of their calendar, so they will either request more prize money or go play somewhere else.

In short, top level chess has professionalized and players will try to maximize their "paycheck"