In urban/suburban areas, you need firefighters based on number of population, more or less, which isn't too bad to pay for, more people means a little bit from everyone adds up.
For rural areas, you need figherfighters based on area. If you had the right per capita fire equipment and personnel, they'd be spread so thin they may as well not exist. Volunteerism at least gets you affordable personnel, but you still need to fundraise for equipment and operational expenses.
Edit: also, the call volume is very low. Your properly staffed fire department would be nearly always idle. With volunteers on call, they can just go about thei usual things, and if a call comes in, they can respond from where they are.