1. finding a job is a number game
Find a job is a number game so cast a wide net. Even if you're fully qualified, there's only a small chance any particular company will hire you for any particular role, purely due to the number of people applying.
The solution: Get on as many job sites as you can find, and look for jobs you're remotely qualified for, and apply. This is work, but it's what's required. You may find more jobs you're qualified for with a wider net.
To give you a sense of scale, some of the recent graduates I know applied to 100-200 companies, got 10-15 interviews out of that, and at most had 3 job offers at the end. Your millage may vary here, of course, with different levels of experience and different places you find jobs to apply to. But you should be aiming to apply to at least 80-100 positions, likely more.
2. job requirement lists are a wishlist
You will never find a job which you satisfy 100% of the requirements for, and hiring managers will similarly never hire anyone if they only look at applicants who match 100% of the requirements. Ask a manager describes this more detail, but the gist is what I've written above.
For your particular situation, know that this holds especially true for programming jobs. Every company has a set of frameworks and tools they use, and they'll advertise that! But what makes a programmer good is not the set of tools they know how to use, or what specific situations they've been in - but experience in general, programming ability in general, and an ability to learn.
As long as you know at least one programming language semi-related to the job listing, and you have some projects relevant, apply. It doesn't have to be exact - for example, a React developer may need a little time to get up to speed working on an Angular project, but they will already need 2-3 months of getting to know the particular project before they're actually productive, so an extra week or two learning a new framework doesn't matter.
Last, some general advice:
3. Make projects
You list 12 technologies you've learned. If I read your resume listing all of those, and no working experience, I'd be very skeptical - have you actually built things in all of these, or just skimmed the documentation enough to write a "hello world" app?
In the software development world, a resume is only worth as much as the hard experience that backs it up. There are a few ways to showcase this - work experience, school projects, and other things you've created. As a new developer, you don't have job experience. And being self-taught, you don't have school projects (though how useful those are is debateable anyways). So go to the big alternative - projects you build on your own. If you can write a website showcasing your skills - something mildly useful, and talk about it in an interview, I'll be much more likely to hire you than if you just have skills listed.
You might already be doing this, but I wanted to include it just to make sure. Projects really, really matter - they're how you can stand out as a developer, prove your skills, and also get much better. Write a pastebin server. Write a chat application. Find some 2-3 week long project which is relevant to you, and uses your skills, and make it exist!
This backs up your skills with hard evidence, but more importantly, proves that you can actually sit down and write code - a skill seriously lacking in many newer developers, including ones coming from university.
Hope that's helpful! Might be a bit rambl-y, and someone can probably write a better answer later, but these are my thoughts on your situation. If anything, I highly recommend reading that blog post from Ask a Manager, and checking out their blog for other resume, CV and job searching advice. Good luck!