The why: because Lua, Python, JavaScript, Janet, etc lack many or all these features. And each of these features is known to make life easier for a human programmer.
Looking through that list of features, Ruby (the dynamic language I know best) has all but 1 built-in (and the other can be added with Gems). I'm guessing Python probably has them all too (but I don't know Python that well). They're pretty common. So the why still isn't clear.
The main Ruby implementation is also fairly easy to embed. It's just not easy to embed multiple MRI ruby instances in a single application, and it's also a lot bigger than mruby.