Because Array::Shuffle functions do the operations in-place for better performance and so they do not really fit inside List::Util, and also because List::Util is famous for refusing to include additional functions (that's why we also have List::MoreUtil).
Besides that, because I also wanted to play with different shuffle algorithms, and so creating a new specialiced module made sense to me.