Sadly I agree that many developers will put up with awful working conditions, but that is mostly because they are paid pretty well. I disagree that you don't need brilliant developers, but it can be difficult finding the right balance between folks that write "profound code" and folks that are willing to copy that code and finish all the required functionality. Software development is still growing rapidly, so any company that thinks their developers are willing to put up with anything to keep their jobs is going to lose out when the economy gets good and there are many jobs available.
If everyone followed your suggestion then developers would all work in the equivalent of a college computer lab - long tables with closely packed workstations and no personal space. I have never seen anyone try this, but even when companies use relatively small, open cubes it can be distracting to many developers. OTOH I have worked in a building where every developer had an office with a door that closed, and that didn't really help either since it made collaboration kind of tough. I think it is worth thinking about productivity when it comes to setting up an office. The incremental costs are not that high compared to the cost of even a single-digit change in a typical developer's productivity.