Consider more rural areas, where there are less people to make these donations, and more roads are needed. Is it ok to say "pay for your own roads" when it unfairly shoulders them with the largest burden? It will end up with lower income rural areas having crappy or no roads. Same for all the others you listed, bar military. Also, who pays for the highways?
Having a justice system depend on donations from the populace is kind of a huge issue with impartiality.
Fyi, England used to effectively do what you suggest pre ~1700. It didn't work out well from a justice, education or infrastructure angle until the state got involved.