Why is it not "Saya punya kucing banyak"?
Because "banyak" here is to display the quantity of "cats." So, we should say "banyak kucing". You also can read some explanation from this forum https://forum.duolingo.com/comment/31285942
Why does banyak have to be before kucing here?
"Banyak" is always put before the noun, just like the word "many" or "lots of" in English.
So why say 'terima kasih banyak' then?
For "terima kasih banyak", banyak means "sangat" or "lebih-lebih" (adverb). So, we put it behind the "terima kasih."
"saya punya banyak kucing-kucing" should also be marked as correct
No, this is incorrect. When you use a numeral, such as "banyak" or a number, you can't reduplicate the noun.
'Banyak' already show that it is plural
Can you say "Kucing saya banyak" too?