Imagine you want to build a cabin in a very remote place in Alaska.
Getting there is quite difficult, you did it a few times in the 60's but the path is so bad that you had to throw the truck away each time (around $45,000 per trip, for the truck + gas)
You are still planning to build your cabin but having to buy a new truck for each trip is not great, plus the fact that only one company can make this SLS truck so you can't get more than once a year.
Building a cabin in these circumstances is close to impossible.
Now SpaceX makes a new Starship truck that can go all the way AND be reused. The trip from the hardware store to the build site now only costs you around $100 for the gas plus truck expenses AND you can now do the trip to the hardware store multiple times a day !
Now building the cabin becomes way more accessible.
Replace the Alaskan cabin with a scientific base on the moon or Mars and multiply the amounts by 100,000 and you have an approximation of the situation
No, NASA has the budget. They already spent $50 billion on the development of SLS and Orion, Starship development cost is estimated to be around $10 billion.
So in theory with the money they spent on SLS they could have built 5 starship program.
The problem is that NASA has to follow political interests, sometimes the political interests align with technical interest and we get great things like the Apollo program.