Men are just as nervous and even as insecure as you are about making contact with someone attractive. You can make it easier and get him to come talk to you by being brave and flirting a little.
If you see a hot guy you’d like to meet, make eye contact with him. When he meets your gaze, smile invitingly and let him look away first. That gives him the confidence to walk over and introduce himself. (If you were to shyly look away first he might feel rejected and not risk coming over.)
Flirt and let him know you like him (if you do). Touch his arm or hand as encouragement that it’s okay to ask for your number. But wait for him to ask. Do not ever give your number until he prompts you to. If he gives you his card and asks you to call him, text him your number and add, “I look forward to hearing from you.”
If he doesn’t ask for your number after you’ve given him all the right signals, then it’s his loss. Don’t waste any energy worrying about why. He clearly isn’t worth it.