Most of the time, the only technical skill you will develop by doing an unpaid internship is how to simultaneously make coffee and photocopies. This is not what you want.
When a company commits financially, the stakes are much higher and not training you properly will actually result in a waste of money. It will be hard with no prior programming experience but we fortunately, are a field where what you can do overweight where you come from.
This is only true to a certain extent of course, and you need first and foremost to be able to do things. It will take years and thousand of hours before you become a decent programmer.
For companies to invest in you, you need to demonstrate that you are sweating to get better and that you will actually get better.
It means reading, writing and studying code, programming methodologies and paradigms. Overwhelm yourself, learn passionately and ruthlessly. It may sound like a platitude but there is actually very little else you can do.
Start doing that now, yes now. Focus on that, take a job as a waiter and learn, learn, learn on your free time. When you start feeling a little less inept, it will be the right time to send a couple emails, calls and posts on HN.
This will also act as a test, you might be a little delusional and drank a little too much koolaid. Working all day and studying at night will let you truly assess whether it is the case or not, whether you are chasing a mirage or a vocation.
Technical internships, jobs should be viewed as opportunities to get better, professional and familiar with new problems and technologies. if you want people to invest you, start investing in yourself.