While I will gladly rant about my issues with how NASA handles things: NASA and Musk are trying to solve different problems
Musk's goal is affordable space travel
NASA's goal was space travel (and exploration) period.
That means everything is a prototype. As for why we don't re-use them that much: By the time a project is over, so much has been learned that it and said knowledge needs to be applied to the next round.
In the case of space telescopes and the like: Repairs are made (if memory serves, Hubble was the one that famously launched with defects and needed to be fixed in orbit). As for launching more smaller ones: There just isn't a huge need for it. Getting time on a telescope is something even a grad student can do and the timescales are such that there is very rarely a "we need this NOW! Screw everyone else and block off a few weeks for us" situation. And if there is? Odds are a LOT of people want that data anyway.
One way to think of it is like a gaming PC. Some people buy mid-end and make incremental updates over the lifecycle of the machine. Others go all out and just build a monstrocity with an i7 every 4-6 years.