Private schools are a red herring in the debate.
I'm a private school teacher (::ducks the rotten tomatoes::). I jumped ship from a state school. It has nothing to do with demographics or not wanting to teach students with diverse needs (I actually hold a masters in an aspect of special education and am now doing my PhD). Our school has approximately 50% of students on some sort of financial support, and we have a huge number of students from non english speaking backgrounds or with special needs.
So why did I jump ship?
Instead of being treated like a lackey, I am treated as a professional member of a team whose opinion and experience is valued. If I talk to a parent, the general response is "ok, how do we fix it" as opposed to "that's not my fucking problem".
Expense account. I no longer have to pay for my own pens, tissues for the classroom, sunscreen, materials, even paper and I don't have to beg the school secretary for a key if I dare to want to access the photocopier. In fact, our school secretaries will actually do the photocopying for us, so we can get on with the job of actually teaching.
My students with special needs actually get what they need. If I need special equipment, aide time or anything else, then I get it. No arguments, having to write pages of reports, or eventually giving up and paying for it out of my own money just so my students can enjoy the same educational opportunities as their peers.
My school supports my own ongoing professional development, provides me with support and time I need for it to occur, and encourages our staff to do so. Which is why almost the entire staff has at least a masters or PhD or is working towards their PhD.
Oh, and it had nothing to do with pay. My pay is not very different from a teacher in the public school system.
You want the best of the best teachers at your public schools? Treat them properly! Stop treating them like absolute dirt, or like slave labour. Stop with all the constant justifying and box ticking and let them actually do their job as teachers and educate the students in their classrooms. Teaching should be a career for people to aspire to, not one that people do because they can't think of anything else to do. Make it worthwhile for teachers to want to further their own careers and develop their skills.
It's not the only thing that needs to be fixed, but it would be a damned good start.