Making mistakes from fatigue is the tip of the iceberg. As designers and implementers of software, we don't just have to redo the few minutes of work that making the mistake took. The consequences can be much worse:
* Missing key insights which would shave a large percentage of work off of the project.
* Making mistakes in architectural decisions, which require hours of extra mundane boilerplate work.
* Introducing difficult-to-reproduce bugs which require hours, days or weeks debugging
* Destroying key hardware which needs to be re-acquired (if that's the kind of thing you work on).
At this point in my career I'm of the opinion that asking teams to pull late nights and weekends is actually detrimental to project timelines, over anything longer than a single day. All it does is reassure PHBs that maximum effort is being made.