Почему в tarantool\redis хранимые процедуры если не на SQL, то на Lua?
Потому что интерпретатор Lua очень маленький и нетребовательный к ресурсам, но при этом обладает JIT-компилятором и высокой производительностью, а также встраивается намного проще, чем интерпретатор любого другого языка.
Почему во всех БД — если хранимые процедуры не на SQL, то на Lua?
Ну почему сразу "все". Вот в postgres есть питон, например.