1) Mentors should be available at 2 in the morning. Not that they have to (most of the time) it's just that you mostly interact with teaching assistants that still are in school working on their projects too, so they usually pull the same kind of hours than you.
2) You have really tight deadlines and a huge amount of project so it's not unusual to have to work 15 hours. But the whole thing is just about learning to manage crazy constraints, you deal with it the way you want. If you choose to work 15hours a day an manage to be efficient then great, but it's more about learning to be organize / be efficient.
As for the second issue, I stare at a computer screen for at least 12 hours a day - you have to be careful about it (backlighting, fl.ux, etc) but it's possible to do and can result in some incredibly productive days. That said, 15 hours is a long time.
In the past when I had to deal with puppet/chef I constantly had problems that the mailing list just couldn't help and the only way I could get help was to bring someone in and had them debug in real time with me.
You can certainly learn by trials and errors, but to be honest you'd learn a lot more if there are professionals to help you.
Second issue is programming 15 hours a day seems a lot. I can't even stare at my screen for more than 7-8 hours a day. That's a lot of work...
I do like the idea, and I think traditional curriculum should adopt part of this. I advocate my department to do "student seminar" as elective, but the department always refuses by saying "your employers don't see the value and have no way to justify your ability by taking this elective."
I like professors to give students more freedom to build things and show to class their progress.