Could be many reasons, I suppose. Scripting languages should be simple and Lua hits that sweet spot where people not too familiar with code can contribute. While I am currently using C++ as the script language here, the emulator is running RISC-V, so you could use any language capable of outputting RISC-V binaries.
Shared libraries crash your whole engine when something fails. They also don’t respect the frame budget. I am going more into detail on this is p3.