From my experience, policies of being in the office for <x> hours significantly reduces productivity, as people spend more time trying to fill their days instead of doing the work.
Regardless, it's patronising to effectively treat highly paid professionals like children with dumb, simplistic rules, and morale will also suffer appropriately.
The inability to manage and unreasonable expectations. Good managers are rare. Hold on to them like your life depends on it when you find them. Take care of them and they will take care of you.
In theory, you could have a job where the core hours are just 4 hours a day (most coders do not spend more time having rich interactions), and if you succeed to get your work done, you can leave afterwards.
Because butts in seats will always be an easy metric? Companies love easy metrics, they are safe and considered "fair" / "objective" (numbers are objective, values ascribed to them or derived for them will always be subjective but companies love to confuse the two).