I think the mentality is shifting a little as millenials and gen z are slowly letting go of the meritocratic myth, but blaming internal motivations more than context is a problem in the American conception of the world we still suffer from as a nation. The inability of us to accept that our actions are not the only determining things in our lives seriously limit our ability to fully comprehend the world and how it really works which leads us to thinking ideas like work requirements are actually sane rather than completely counterproductive.
This is a traditional, stereotypical belief that in order to escape poverty you have to work harder. This is old understanding of meritocracy and it's no longer valid. The new meritocracy is that you have to learn harder. And now, given all the learning resources available for free on the internet (which is also very accessible nowadays) it's probably the best time ever to self-educate.
Once in a while I walk past a person selling pens/begging for money in my neighborhood. I always wonder how much he could've learnt and improved his life if he spent his time on learning instead of sitting on a bench and begging for money. I have sympathy for people that are poor due to unbearable circumstances such as mental illness or disability. But I honestly don't understand why an otherwise capable person won't make an effort to self-educate in order to break out of poverty.
You still need to cover your basic expenses, homeless or not.
When you're working a double shift to put food on the table, it's really hard to learn an extra skill set (e.g. programming) and make time to build up a resume on github (or whatever).
The cost isn't really located in the act of "buying" education.
Not everyone is going to be able to find a well-paying tech job. How many times have you come onto this forum seeing active HNers who are tech-literate and have a history of programming employment complain that they cannot find a job?
Look at your neighbors.. everyday people like your grocer or mechanic or mailperson.. Take a look outside your bubble. Not everyone is going to be able to be fluent in tech even with great effort. It's not so much that it's impossible, but that's it's incredibly unrealistic.
The only reason I've been able to work as a programmer is because I lucked into it. I got hooked when I was 12 or so because I found it fun. I had plenty of time and enjoyed it. If I had to do it all over today out of desperation I'm not sure I could will myself to do something completely foreign and uninteresting.
I think you take for granted the knowledge foundation that you were given.