"Много" takes the genitive case. Here, the genitive plural of "Кошка" is "Кошек".
So is кошка irregular then? We have seen the ending drop on собака -> собак. I would expect something like кошка -> кошк
It's regular. When you're forming a noun into the genitive plural case, and you end up with a double consonant at the end, you put a "е" or an "о" between the two. Whether it's a "е" or an "о" depends on the spelling rules.