Why aren't the uses of "hakuna" translated as "does not have" instead of "there is no"? Wouldn't that be more accurate? Or am I misunderstanding the Swahili?
It would not be more accurate. Hakuna is the standard translation of "there is no". But I can see the argument for the translation "does not have", since Zanzibar is a place and can therefore be seen as a pa-ku-mu subject.