In some instances, people don't have money for a class. In some, they can't get transportation. In some, they lack the spare time.
Michigan requires a "class." It's a day long and usually requires about $150. I work full time during the day, go to school full time at night, and somewhere in between I raise my 18 month old daughter.
I don't have a license for the reasons you listed. As far as the cost, it literally often comes down to the penny for my family, so the spare money is not available; and while my Saturdays are technically free, I do on occasion like to see my wife and daughter!
I get why it make sense on paper for this, but it leaves people like me out in the cold.
Though of course, I also would only actually be able to carry on weekends, and both the school and my work prohibit it.
Apparently people in college don't need to defend themselves.
Maybe mandatory training would be ok if it had a defined standard: like you must meet this and this requirement, and the training should be free/government paid. It's the poorest people who are most likely to need to defend themselves anyway! Perhaps local PD's could host a class once a month that certified people?
This would require only your time and the officers time.