Many charities use support workers on zero hour contracts for various valid reasons. Your suggestion would cripple charities with greatly increased labour costs and be detrimental to the care of the disabled and other vulnerable groups.
1. As Ledswinger said there is no reason not to give charities an exemption.
2. Caring for the groups you have mentioned is a blatant example of zero-hours abuse in the marketplace. If you have 30 disabled you as a charity are taking care on a council ward, the time it took this week is not going to be drastically different from the time it takes next week. The only time it changes are medical emergencies and in that case it actually goes down as NHS takes over.
The only reason the care worker taking care of that is employed on a zero hour contract is exactly that - convenience and ensuring that he/she continues to get the 7.36£ average hourly pay for a care worker at 40 the same way he/she did at 20 (this is according to national statistics for UK). Excuse me for being blunt, but as far as hypocrisy goes that is possibly on par with Mike Ashley - you are in a position to offer a proper job, you have the proper work, the work is pretty much nailed to an exact number of hours per week and you deliberately screw the worker who actually does the work. On top of that you try to climb on an even higher soap box than Uber and you beat yourself in the chest about being charitable and public morals.
Bleurgh... excuse me while I retch, and frankly I am not sure about the exemption on charitable organizations.