It’s because you haven’t asked anyone out.
It’s not because you’re fat, ugly, shy, or however else you perceive yourself. It’s because you haven’t asked anyone out, or been rejected enough times.
This isn’t to glorify the coupled life–our society already does a great job at making you feel ashamed for being single. In fact, the best thing you can do for your “single anxiety” might be to accept being single. Lewis Black, one of my favorite comedians, has a hilarious bit about this. (short version, long version).
But no, your being single probably has nothing to do with your perceived flaws.