C++ and c# are used because they have these features called, "classes," and, "objects," which are basically how various entities in games are described to the computer (e.g. enemies, vehicles, items). C# also has cross-compatibility by basically turning code into a "common language" that different types of computers can understand with their own "translators".
Both of these languages are used in popular game engines which is a huge reason why they're recommended for game development. Not sure why they're always chosen though.
Java, in my opinion, is better for coding a game from scratch. It has a better quality and more widespread cross-compatibility than c#. Additionally Java code doesn't go obsolete anywhere near as fast as C#'s. C#'s goes out of date very quickly because kikerosoft is constantly changing its features and inner workings. Java also has classes and objects just like C++ and C#, although it's a bit slower because of how it handles the cross-compatibility, compared to C#. Java code doesn't run straight on the computer, but instead a sort of "simulated computer" that's the same on every computer that has Java regardless of hardware. A big thing Java has going for it is that it has so many more features built into it right out of the box. Unlike C++ for instance, it can produce graphical programs without needing any extra stuff downloaded additionally.
Note that Minecraft, the best selling game of all time, was coded in (and runs in) Java. So don't be closed off to using it. Java is very good for making games despite what people tell you.
I don't know too much about react and webdev. I haven't paid it much attention. But I do know that browser cross-compatibility is as good as, if not better than even Java. So a website or browser program you write will run on any computer that has that browser.
Funny enough I've only been learning programming seriously for about a year. And it only took me about 4 months to go from my first hello world program in python to writing working c++ programs. Within another 3 I was writing simple graphical programs in Java. Keep in mind I wasn't even spending that much time learning it. If you really put your mind to it and study it constantly, you could become very adept at multiple programming languages very quickly.