Most of the things you listed are directly related to Congressionally mandated specifics for funding those programs. The money is only there if NASA does it the way Congress dictates, not necessarily the way it should be done.
The entire SLS program is essentially a Congressional jobs and legacy aerospace grifting program post-Shuttle.
If Congress would. Keep their hands off, and just allocate budget, most of the issues would likely disappear since the people that actually know what’s going on could make the decisions instead of a Congress critter that is an imbecile.
It’s the whole reason SLS is the train wreck it is. Congress wouldn’t let them not keep shoveling money to the same people who made Space Shuttle parts. So instead of the best design possible, we got the best design using old parts.
It’s always depressing to me that there are pretty obvious ways to fix problems but absolutely no way to enact solutions.
Publicly funded elections (so corporations cannot buy their way in), and a ban on post-career employment for politicians fixes it immediately. But fat chance of that.
The way I’ve heard it described is a lot of the NASA funding is intentionally spread out across many states, funding many jobs in those states, to get the support of many representatives to vote for the funding. This also means that trying to optimize costs would get a lot of push back, since it will cause jobs to be lost in many states. And these are states which voted for Trump: Alabama, Texas, Florida, etc.
You’re absolutely right, though the extreme risk aversion is harder to blame on congress.
You kill a half dozen people in a space ship explosion that could have been avoided and you will reasonably get a cautious culture.