I like your last point.
The rest of your post is based on the implicit assumpion that anything government run is inherently bureaucratic and slow and charities are instead simple and fast. But that's an orthogonal issue. Some level of bureaucracy is needed to prevent misuse, otherwise you have a rich guy pay their fines from their charity. Beyond that, there is no inherent reason for charities to be more efficient. You could make those governmnent-charities have local oversight, they could be organized very efficiently too and have the advantage of democratic legitimacy.
Hmm, if the government were to run a quadratic funding of charities thing, with only rather limited requirements for eligibility, perhaps that would somewhat alleviate the "undemocratic" complaint? (It would have to make it illegal to pay someone else to participate in your stead though.)