> Commercial companies like SpaceX on the other hand, who are spending their own money
If there's a lie here (and I'm not saying it is a lie), that would be it. SpaceX being cheaper (and maybe better) than the alternatives doesn't change the fact that they are not "spending their own money" exclusively (or even majority).
Not at the time of the grants.
To be more fair, SpaceX is mostly spending VC money, while SLS is spending taxpayer money. They are gambling that they can make a better product for the customer without working under contract with the customer and being payed for their development..
SLS has a government contract that pays up front for development, and will work hand in hand with the customer throughout development.
You know you spend my money, right? I mean, I paid taxes, which government used to buy products from the company which pays your salary. So behave please.
:)