At a very high level, this is the explanation: the spike protein in Omicron has many differences from the vaccine strain spike, but it's still largely the same protein. The immune system is chopping up the protein into chunks, and T- and B-Cells are specializing to recognize those chunks. This kind of immune response (the "cellular immune response") is slower to ramp up than the antibody response that many people have fixated on, but it's a much more robust defense mechanism; B- and T-Cells are very good at providing generalized antigen recognition. There have been at least 2-3 papers I'm aware of where labs have directly demonstrated that vaccinated people are producing robust immune responses to Omicron proteins.
I'd have to dig these up again, and they're not exactly comprehensible by non-specialists, but the executive summary is that we have laboratory and clinical and epidemiological data that the vaccines are still very effective against severe disease.
What the vaccines don't do anymore, is protect against infection. That was probably never a realistic goal for a respiratory virus, but it's definitely not practical with a vaccine that produces antibodies that target a very old spike protein.
https://www.sciencedirect.com/science/article/pii/S009286742...
Here's another:
https://www.nature.com/articles/s41586-022-04460-3
> Between 70% and 80% of the CD4+ and CD8+ T cell response to spike was maintained across study groups. Moreover, the magnitude of Omicron cross-reactive T cells was similar for Beta (B.1.351) and Delta (B.1.617.2) variants, despite Omicron harbouring considerably more mutations. In patients who were hospitalized with Omicron infections (n = 19), there were comparable T cell responses to ancestral spike, nucleocapsid and membrane proteins to those in patients hospitalized in previous waves dominated by the ancestral, Beta or Delta variants (n = 49). Thus, despite extensive mutations and reduced susceptibility to neutralizing antibodies of Omicron, the majority of T cell responses induced by vaccination or infection cross-recognize the variant.
I may have read a third, but I can't find it easily, and these two should be more than enough to back up what I wrote / get you started.