chef-solo does require ruby > 1.8.7, rubygems and many gems though. Their argument for ansible is that it only needs basic python which is installed by default on most systems.
Python and Ruby are located at basically the exact same point in programming language space, so to me they're pretty interchangeable. Since these are Ops tools, the argument that anything is 'installed by default' scares me. Nothing should be installed by default; choosing what is installed and how it gets installed is one of the major responsibilities of the Ops team.
This is more of a function of so many utilities written by Red Hat and Canonical folks use (and require) Python. And that's part of the reason Python is so popular among systems applications. One of the earlier starts to this was the system-config-* toolchain, and of course Anaconda (which isn't so much installed, but a great example).