I don't think there's a clear rule in English for on/in when talking about islands. I'd say that when you mention the name of a country that happens to be an island, you would say "in" - "in Iceland," "in Malta." But if you were talking about the geographical features of the island of Malta, you might use "on" - "the tallest mountain on Malta."

For other islands, I think you could use either, though I would say that for very small islands you would almost always say "on", and for larger islands both are possible:

- "I have a cottage on an island"

- "many tribes live in (or "on")New Guinea"