@BertrandRussell OK let's take it away from schools to see if I can understand your position any better in another context.
Annie, Betty and Carol are all having a medium-severe mental health crisis and need outpatient treatment by a psychotherapist as soon as possible. For simplicity let's say that each of them could be adequately helped and set on the road to recovery with 18 sessions of therapy with a real terms value of £100 per session. Annie and Betty have no savings and no hope of paying their own way, Carol has been a high earner and has sufficient funds available to pay for as many sessions as she needs.
Dr Xavier works for a private practice. The practice will charge £125 per session and have costs of £100 to deliver it, making £25 profit. They will be delighted to treat Carol and don't care about Annie or Betty.
Dr Yellowstone works for a non-NHS mental health charity. The charity will still charge £125 per session because that is the market rate, and because the charity has a different tax basis than the profit-making business above, their actual costs are only £95 per session, so there's £30 per session made available for a charitable wing of the clinic which means that from time to time they are able to offer a free or reduced-price service to Annie or Betty - though the availability of this will be much lower than the demand for it.
Dr Zebra works for the NHS. Due to limited budgets and the low priority placed on mental health by the local trust, and the massive demand, the clinic can only offer a maximum of 6 sessions per patient and there is a 6 month waiting list. When a patient is treated the clinic only gets £85 per session from the Trust anyway, so they have to make ends meet by underpaying the staff and cutting corners wherever possible.
You can't force Dr Xavier and Dr Yellowstone to work for the NHS - there is no additional money and anyway they do not want to. Obviously it would be lovely for all three patients above to get the service that Dr X and Dr Y offer, but that isn't possible. The money is not there. You could shut down Dr X and Dr Y's clinics but that wouldn't help the clinic that Dr Z works in. Dr X and Dr Y would either take early retirement or go and work abroad.
Do you think that it is wrong for the clinics that Dr X and Dr Y work for have a different tax basis from one another due to the fact that Dr Y's clinic makes no profit? Do you object to "the taxpayer" contributing in this small way? Should the for-profit and non-profit clinic be treated exactly the same as one another in tax law?
Is it morally wrong for Carol to use her available funds to go to Dr X or Dr Y, given that she has the money? And is there no moral difference between her choice as to whether to book herself in with Dr X or Dr Y?
My own position would be that it is fine for Dr Y's clinic to have the tax advantages of a charity, and that it is not wrong for Carol to use Dr Y's services. And I can't see any moral difference between this and the equivalent situation in the education sector. I would like to establish whether your take in the case of mental health is radically different, and if it isn't then I would like to understand why you think the same morals don't apply in the education sector.