I would think one reason is the size of the party. Why should a waiter make the same for serving a party of 8 as he does serving a party of two? Both are in the restaurant about the same amount of time.
The other reason of course, if they did that they would have to raise the cost of the food to cover the meals. People wouldn't like that. For whatever reason, they don't look at a restaurant as the total cost to get out the door, they look at the cost of the entrees.