O resultado está correto, mas o Rails mostra errado. Basta acessar os resultados manualmente:
results = Category.select("lower(name) as c_name, count(*) as cc").group("c_name").order("cc desc").limit(3)
results.first['c_name']
results = Category.select("lower(name) as c_name, count(*) as cc").group("c_name").order("cc desc").limit(3)
results.first['c_name']