In fact, it's very standard in many many professional games.
But that is not execute_string(), but scripting languages for extending an already compiled game. The most popular in this regard is Lua, which is fast, small and easy to learn. Something like that is useful, but execute_string() wasn't. It allowed to execute all GML, including game_end() or registry_ functions. So it was easy to create an extension system with many security vulnerabilities. And on top of that it was extremely slow. And ENIGMA doesn't have that because we didn't want to include the parser and the compiler with the game (which would be required for GML/EDL support).
I must agree GML/EDL is easy enough to be a scripting language for games, but we don't have a runtime compiler or anything like that.
But there are many such scripting languages including UnrealScript for Unreal engine. And the idea isn't bad as it allows creating mods which otherwise are very hard to do.
So main reason execute_string was deprecated in GM and not available in ENIGMA:
1) Both GM:S and ENIGMA are compiled C++ now. This means there is not interpreter to run this execute_string. Making one would take a lot of time and the result wouldn't be very fast (as GML/EDL in its core is still C++ and so compilation would be required).
2) execute_string() was a major security risk. Even when you didn't use that function it was always included. So there were exploits in almost all games that you could just either use execute_string directly (and spawn unlimited money for example) or you could enable the debug mode (which was also always included and in which there was "execute code" button built-in) and do the same from a GUI interface.
3) It was slow for 90% of stuff. There was uses for it, but the way it was implemented made it very slow.
I suggest either looking at existing scripting languages and provide them as an extension (like Lua). Or create a very basic GML/EDL interpreter which has very limited functions (like it cannot create or draw sprites (which would be useless in a script anyway)) and so could only use and manipulate variables.