It's because that's how plural works in slavic langauges. Ukrainian, Russian, Polish, Czech, and so on. Even in Lithuanian and Latvian you'll find two different plurals.
If you transliterate the plural form of "hryvnia" from Ukrainian ("гривня") into English, it will be "hryvni" ("гривні") with 2, 3 or 4 as well as with 22, 23, 24, 32, 102, etc.
And it will be "hryven" ("гривень") with 5-20, 25, 26, 27, 28, 29, 30, 45, etc.
The same with "kopiyka", 1 kopiyka, 2 kopiyky, 5 kopiyok, 10 kopiyok, etc.
These are just rules of Ukrainian nouns with numerals, and as some people mentioned above, these rules are very similar to all Slavic languages.
Another thing, that I strongly disagree with English translation that a lot of people use. In my opinion, the only correct variant should be 1 kopiyka, 2 kopiykas, 5 kopiykas, 1 hryvnia, 2 hryvnias, 5 hryvnias. But I won't be able to change and explain every instance of the usage on the Internet of it, unfortunately.