Because that's how all binaries work. You must keep in mind that you are not scripting in some php file, you are modifying binary data.
This is the sort of thing I meant when I said there's a missing level of abstraction. When you use an IDE with a high level language, you can make as many variables as you need and they can be whatever you want them to be. At compile time they'll be baked into the binary the way the strings we use in PKSV already have been. There is also no way to get around having to have your strings declared before you use them. It is highly unsafe to have them automatically generated in a ROM editor. It would be different if you were making the game from scratch, but since there are already a bunch of other scripts with their own strings and actions. They MUST be handled delicately to avoid corrupting other data.
To be honest, when they made the pokemon games I'm sure they used an editor that made these scripts for them from some other language, a high level language where variables and mathematics could be done easily. I really wouldn't be surprised if these blocks were made by a modified GCC toolchain actually.
I do a lot of Windows programming using C#, or C++ primarily. I also do C, Java, Lua, PHP, JS, and whatever else. Pretty much whatever I have to use to achieve a goal.
I'm also not sure what example you were talking about.