I empathize with you completely. I felt like this for the longest time.
First you need to know yourself. Find out what makes you tick. What you like talking about. What makes you laugh. Etc. And evaluate if the people you hang out with are genuinely into that same sort of thing. If not, then you may want to consider finding new people.
Write down what you accomplished and what you are ambitious of. What you're passionate of. Everything you write down you should know yourself that you can talk about it.
And don't be shameful of your quietness. Maybe you just love to listen to people. And you know, you're not going to be quiet all the time. There will be times where you'll feel like going on about something that you really love talking about.
Perhaps practice baby steps. Go out and just say 'hello' to strangers. Step it up once by walking by giving them compliments. Step it up again and thank them for being receptive. Then push for a conversation with that. Be completely honest and authentic by stating you're shy and nervous.
Just know that you are already an awesome, powerful person. You just need to give yourself permission to be that way, and stop getting in your own way.
Usually when people are shy it's because they are too self-conscious. Their thoughts are too preoccupied about what other people's opinion is of them. They tend to watch themselves through other people eyes, by making assumptions about what the other person's perception is of them.
When in reality people aren't having negative thoughts about you at all. Your thoughts are just really how you perceive yourself
Shy people tend to be trustworthy, and deep thinkers as well as very intelligent with lots of of opinions and views, they just aren't vocal about it.
Shyness can be very debilitating, and prevent you doing things you really want to do. The only way to overcome shyness is to go beyond your comfort zone. Put yourself in situations which make you feel uncomfortable. In time, you'll become less self-conscious are more confident within yourself.
People perceive you by your own behaviour and attitude. So change your behaviour and you'll get different results in your life. Therefore, you'll come across as a more approachable person. People will then be drawn towards you.
Most people are like that when they are by themselves, or not with friends/family. Your friends and family give you support and confidence when out with them. That is not why you are single either. You are clearly a little shy and that will get better the more experience you get and when you meet the right person. I think you are completely normal.