Add to that ULA was forced to drop their prices, so Space-X doesn't really have much room to increase more. And they obviously can't increase on existing contracts.
I'm always shocked when a keyboard warrior on ycombinator thinks a company that size doesn't have a considerable workforce dedicated to figuring out what they can charge for their product... I doubt they just picked a number out of thin air. It was likely a combination of estimating how low they think their competitors go as well as where they need to be to win new business.
Plus, if you are going to bring the BFR online with much lower launch costs, you want people to start thinking about that reality sooner rather that later. SpaceX will have lots of their own satellites to launch, but if they are hoping to do a launch or more a day they will need to have a lot more people putting things into space. A lower price now can jumpstart lots of money into building businesses that with need those lower prices.
But the price of satellites is also much higher. A GEO commset made to common specs is going to be costing something north of $100 million. A custom DoD spysat might be in the billions. SpaceX is making very good inroads in the former but not the later.
If you are flying a $20 million dollar satalite, do you fly with the 6 million dollar proven launch, or the 5.999 million dollar unproven launch?
Now if the unproven guy cuts the price to 3 million dollars, the math changes (insurance can step in, etc).
I don't think they could have charged much more and gotten to where they are.