I bought the app on Android, do I have to buy it on iOS too?

Short answer: Yes

Long Answer:

As purchases are made either through Google (Android) or Apple (iOS - iPhone, iPad) and as these companies don't exchange app licenses between themselves, the app has to be purchased on each platform separately.

Also, developers don't see who bought their apps so it isn't possible for me to verify that a purchase was made by the given person and e.g. generate a promo code to give the app for free to someone who bought the app on the other platform.

Finally, I had to create the app from scratch on each platform. The apps access low level network APIs of the operating systems which differ considerably and I couldn't reuse any code. So even though I tried to make the apps similar on both platforms, they are in fact completely different code-wise and I find it fair to get paid for the time I spent developing them.