Uh, because more customers will leave if the private school is no better than a public school.
"Finally, why can't we just fix public schools?"
That's a good question without a good answer. Perhaps the best answer is the meta that people don't agree on the course of action that would "fix" the schools since there are numerous opinions on what that is, resulting in no action or half measures.
The school district must educate everyone. When a school expels or excludes a student that student is still a live human that must somehow be educated. They may need to be bussed somewhere. Or to be sent to another school in another district. All of this is very expensive. Never mind that someone needs to administer this.
So in a public school expelling a student increases costs significantly, several fold. In a private school, it decreases costs. The private school just tells you to hit the road.
Since they are a for profit enterprise, unlike public schools, wouldn't there be a financial incentive to have as many customers as possible?
In one particular area what is the reason a charter school would be better than a public school. Since the entry factor for most (excluding schools for smart kids) is money why wouldn't the same problems occur at a charter school? Finally, why can't we just fix public schools?