It’s half because of stupid rules and half because of connected contractors (and others) on the take. This bathroom was built with union labor at artificially high rates of pay.
Government does not care that the money for these projects, which always run over projected (already high) costs, comes from taxpayers who earned the money and then had to give it to the government. Governments just don’t care. They don’t respect the taxpayers – who have little power versus connected interests.