As simple as a language Lua is, there are a lot of "gotcha's" that tend to stump some new Lua programmers, such as the difference between locals and globals, the pointer-like behavior of tables, the difference between using : and . and the concept of self, etc. It's because of this that I can't really call Lua the "easiest language". It's easy to learn and easy and straight-forward to get stuff done in, but it's still a little screwy.
I don't know too much about Python and Ruby, but from what I've learned, both of these languages seem to be the almost polar opposite of Lua: while Lua provides only 22 keywords as of version 5.2, and only one single value type (tables) to serve the purpose of many different data structures (arrays, hashmaps, sets, etc.), Python and Ruby is essentially an infinitely sized toolbox with a ton of different programming paradigms, value types, keywords, and syntaxes thrown in the mix. There's never really one straight-forward way to solve a problem, and using the languages requires learning all of what they offer, which is pretty huge.
Of course, there's no perfect language, as is there no easiest language. Some just come easier to you than others, and from my experience, it ultimately depends on what you dive into first.