I know quite a bit about using drugs at a young age (but keep in mind that everything in my comment is only a mix of my opinion and experiance not a step by step how to make my kid stop using drugs), if it is not peer pressure at parties then there is a reason behind it, taking xanax at parties is basically wanting to get drunk without nausea and hangover.
Altho, if he used it more frequently than only at parties to replace drinking, then there is a reason, the only thing you can do about this is make him aware (without being harsh or judgemental) that since he wasnt prescribed it one day the guy who sold it to him will eventually stop, which will send him into cold turkey WD"s then explain to him (or show him, or both), with examples(bluelight is full of threads where people talk about Benzo WD's) what happen when people use benzodiazepines especially xanax on a frequent basis and stop. This will probably show him not to mess daily with benzodiazepines while being non judgemental and comprehensive will be keeping him from simply using them to make you mad like alot of young people do.
I would also make him understand that taking drugs sold on street is specially dangerous if you are not informed on every drugs and are not able to Identify what you bought (I know the ideal is not to take drugs but most kids don't see it like that). When I was 15 I started making researches about various drugs and it litterally made me see that I didnt want to take the chance of trying some drugs just to see their effect or because friends were pressuring me to try, like MDMA, Cocaine, speed, etc. It made me stick to Cannabis and later natrual psychedelics like mushrooms. I am glad I did because I never had problems with addictions nor negative cognitive or psychological changes.
Then the reason of his use will be the key to his sobriety. Psychologist are good for that but you know your kid more than they will so the first attempt I would make is try to make him comfortable sharing his personnal feelings that he might be ashamed of. Most parents say that they will always be there for their kids but when kids hit high school they will try to do everything on their own, make their own mistakes, you need to respect that, but also show him that some mistakes have bigger consequences than others, like using benzodiazepines for a non-medical purpose when not being informed or prescribed or both. If he simply won't share, then psychologist is obviously the next step.
And If he still wants to use drugs I would make him see a psychiatrist. To see if his drug use isnt ADHD related, because it is more frequently than we think.
I hope I gave you some insights that you consider both logical and potentially helpful, and hope that you do not blame yourself for that, because it is RARELY the parent's fault (in fact it is only when the parents take drugs and make the child think it is normal to use random drugs for no apparent reason that they are the cause) most of the time drug use is caused by underlying neurochemical balance or ignorance+peer pressure.
Have a nice day and you are already in the good path to help him, most parents don't go through this much to help their child, alot simply punish and judge, you can be proud of that and know that it is good for him and a representation of your good parenting.