For a valid reason. The government isn't a tech company or an infrastructure provider. You wouldn't ask the government to build their own roads or bridges, so like everything else software and services need to be contracted out as well. Of course that doesn't mean they should use AWS by default, but asking every single government agency to build their own data centers and CDNs is foolish.
> You wouldn't ask the government to build their own roads or bridges
Bad analogy, because we're not talking about the building of bridges (software), we're talking about where they are built.
In your example, the government surely wouldn't pay to have a bridge built on private property where access could be rescinded immediately if the land owner was so inclined.
Why is the assumption that three letter government agencies are signing the same contract with Amazon as a random startup? Amazon built an entire new instance of AWS just for government use. I'm pretty sure they wouldn't be able to deny access on a whim.
In the states most roads and infrastructure projects are built by private companies that are contracted to do so by the government. There's offeten a public bid process between multiple companies to decide who gets the contract.
That seems like the wrong type of job to outsource. You outsource for expert help. This can be done in house with more control over when work occurs to sync with low traffic volume times.