Many Koreans are originated from chinese.
So '도' is written in Korean about Chinese character '島' which means an island.
'섬' is an original Korean character, not originated from Chinese character.
There are many things like them such as '달걀' and '계란'.
The latter is originated from Chinese.
Several decades ago, we believe using Koreans that are originated from Chinese is smart.
So '제주' became '제주도' not '제주섬'. but most Koreans can understand it.
But it's not natural. Korean might try to fix it to '제주도' when you say '제주섬'.
I hope this can helpful for you. :)