You can say it's the fault of the people who speed all you want. It is, but that's not the point.
But at the end of the day laws have to be followed by people and when making laws (or setting speed limits) you have to take into account how people will react.
As others have already posted, many if not most people will drive at whatever speed feels safe for the road conditions.
In fact this is what is taught in driving school in Europe. If you feel that the situation requires a different speed, drive at a different speed.
Usually this means drive slower.
The problem is that when the speed limit is lower than the speed people normally feel is safe, they will ignore the limit.
This is why you don't just put a highway near a school and stick on a 15mph sign. You make a small street with bumps and lights and all that.