The reason that NASA has not built more shuttles is that it never wanted the shuttle that we have. Way back in the late 1960's, popular opinion was starting to turn against NASA because huge, expensive rockets were being thrown away each flight. Capsules were the most primitive method possible of putting humans into space, and lacked any kind of terminal guidance. Recovery required a carrier group to stand by in the splashdown area, sometimes for a week or more. So the engineers at NASA decided to build the next generation of space vehicle, one that was reusable, and could land at the take off site.
The early designs of the shuttle were for a small vehicle, which would only carry passengers, not cargo, and which could be launched by a 'fly back booster', which would carry the orbiter to high altitude before the orbiter started its engines. Designs were nearing the prototype stage when Richard Milhous Nixon announced that NASA would only be allowed one type of launch vehicle, which would have to carry out all aspects of space exploration and development. He also required the U. S. Air Force to abandon its separate launch program, and to use the NASA launch vehicle.
The Air Force demanded that the new launch vehicle be capable of carrying the advanced reconnaissance satellites that it was building, which were the size of a rail car, and which weighed nearly 60,000 pounds. This necessitated the complete redesign of the space shuttle, resulting in the compromise which we have today. Putting the shuttle on the top of the stack would have meant discarding the engines after each launch, which was contrary to the design philosophy.
What we need is the original vehicle that NASA wanted, a totally reusable crew taxi, capable of carrying at least 10 passengers to Low Earth Orbit.