Great question. And being a free lancer is definitely an admirable goal. You have pointed to the obvious sites. I'd add another one like
coursera.org. However, let's take a step back and decide what you want to do. At a high level, you can think of web development as consisting of front end or backend. Now, let's refine this some more.
Front end can be again thought of as UI/UX folks. Or even content strategy folks. If you are into UI/UX you should take courses in that but then you want to be familiar with front end web development tools like css / html and javascript. If you want to content strategy then information design and being able to write are key skills. Here there are tools for email marketing and marketing automation. If you want to see what marketing automation can do for you so you can learn and decide if this is right for you, check check
flexidot.
On the backend site, you can continue with things like javascript, or Ruby on rails or python.
The point I am trying to make you should map out where you want to be and then decide on a course to get there. Once you know the tools that you want to master, whether they are markting automation, email marketing, php or python or content development, you can find online or even free courses to get you there.
Hope this helps. Don't hesitate to email me if I can help more.