There are lots of good reasons for a company to be really choosy in who they hire, primarily because a bad hire can be hugely damaging to a company. Rightly or wrongly, this means that a single perceived negative on your resume can mean you're immediately discarded.
If you're not having much luck, it might be worth getting your resume read by someone who hires, to understand if there any inadvertent red flags, or missing key info. I did this recently with a friendly recruiter and they made some useful suggestions. I also made changes in response to concerns people raised about my background that they said during interviews, so I could counter potentially negative reactions to things in my work history.