I am about to be 21 and am still a virgin. I haven't kissed a girl yet. What are possible reasons for never having been in a relationship?

My guess is you probably don't believe in yourself. If you like yourself and are comfortable in your own skin, women will be attracted. That's what many of them are drawn to. 

I did a bunch of therapy in my 30s and learned this lesson. After that, life got so much easier. It wasn't about virginity; I'd lost mine as a late teen. But that's beside the point because life wasn't much fun when I was contantly trying to hide my own insecurity. During this time, women were anything but abundant. Once I learned to be comfortable in my own skin, this dynamic totally transformed. Meeting women and dating became easy and fun. 

Fortunately, you're only 21 so you have plenty of time to figure this out. Find a way to like yourself. Perhaps you can do it through self help. Perhaps you can fake it till you make it. If not, find a good therapist and get to work.