Because the scheduling problems of contractors are much worse. There's no central schedule. Contractors schedules must be built around client's schedules which they do not control. Contractors have multiple client schedules to work with. Contractors have a different scheduling weights than clients, like cash flow which prioritizes tasks closer to billing points and the expected lifetime values of clients and the cost of pushing each project to the back burner.
Even worse, when initial cost rather than lifetime economic benefit is a primary consideration of the client when selecting a contractor, the contractor must default to running as lean as possible. Without surplus staff, the contractor can only scale up by employing subcontractors. Subcontractors have exactly the same scheduling challenges and considerations.
To put it in a nutshell, a contracted project where low initial cost is a primary consideration is dependent on the schedules of the clients of the contractors subcontractors. And the initial low cost pressure runs all the way down to resource constrain those subcontractors.
The last thing I will add is that many projects start by the client and contractor sitting down and having no idea what the project actually is, how it will be done, or how long it will take. But the client wants a fixed price and a low one.
Good luck.