I found what you wrote by accident. I don't know if you're still checking on this, but if you are here goes. I'm 30 years old, so 5 years older than your son but it sounds like I'm pretty much exactly like your son.
The name of what your son is suffering from is called involuntary celibacy (or incel for short). Needless to say this is a condition not recognized by most psychologists so they are useless. However, there is some research being done and more information on that can be found at: http://theincelproject.blip.tv/. Needless to say all of this research is very preliminary, and it will be many years before it even begins to be useful to someone like myself or your son.
I have good news and bad news. The good news is that there is nothing wrong with your son. The bad news is that there is nothing wrong with your son. Why did I say that was bad news in addition to good news? Because it means there is no real problem to solve except being incel itself. If he doesn't already know about it, you may want to direct your son to the incel message board at: http://incel.myonlineplace.org/forum/. That board is better than nothing, but it is the worst case of blind leading the blind I have ever seen. Maybe it will be of some help to your son.
Another important thing to realize is that incel IS A REAL PROBLEM. Your son is not a "late bloomer" or "following the beat of a different drummer". Anybody who says BS like that is being condescending. At some level you are right to worry. You seem to have a good handle of the problems and potential problems of being incel. I would say don't worry about what you did or didn't do, when your son was in high school. I have asked myself if my parents could have done anything back when I was in high school and the answer is no. Since no girls were interested in him back in high school, what could you have done about it? Nothing, obviously.
As for what you can do now, there isn't much. You hit on it when you said its all about luck. You should put a stop to talking to him about sex. I understand why you worry about it, but it doesn't help. All you are doing is causing your son to be more frustrated as it sounds like he has told you. If you are looking for some way to help your son with this, the only useful thing you can do is set him up on blind dates. Of course, finding someone will probably be incredibly difficult given that he lives far away and like me there just aren't any women interested in him.
Solving the problem of incel gets exponentially harder as you get older. I thought working to solve incel was incredibly difficult at 25. It's worse at 30. I know you may not want to deal with this, but there is a strong possibility that your son will be incel his entire life. There isn't someone for everyone. There's a good chance that you will never have grandkids unless cloning becomes commonplace.
I'm sorry I couldn't be more helpful.