I think money is a big part of the problem.
If you look at all the food delivery drivers, they wear helmets. At least the ones I see are. I don't know for sure but I suspect that's because they have to wear them to get the job and I'd be surprised if the same weren't true for licences. Losing that income due to not wearing a helmet is a big enough financial incentive to wear the helmet.
What are often called fines from the police are more accurately bribes and they are priced in the same way as any other service. Enough to to make a decent profit but not so much to stop people from committing the offences and cutting the flow of funds.
Make people travel to an office unconnected to the police to pay an adequate fine, thereby separating the police from the money, and things MIGHT improve a bit.