I would love to see more work-for-benefits programs. Where you are required to do some labour work for the community (cleaning wild areas, swiping side walks, planting trees etc.) in exchange for some better than average benefits. IMO everyone should be entitled to such a work. This way we would eliminate involuntary extreme poverty.
Many of the successful homeless programs are "housing first" programs. Search for "colorado homes first program" to read more about it. In many cases it's also the cheapest way to do it as well. If you want to organize a group of currently homeless people to do some task, you have to coordinate travel, pick them up, have a van or a truck, hire a coordinator to plan the events and oversee them, and then at then on top of it pay for housing. It's actually cheaper just to provide housing.
Anyway, just wanted to say the issue goes deeper than "why won't these lazybones work".