He stays so long because of her sexual seduction and he has not ship to leave on and Calypso will not help build him a ship. Until Zeus convinces her to allow him to leave that is when she supplies Odysseus with thing to make a raft but she doesn't help him build it.
Odysseus stayed with Aeolus on his island for a month.
Calypso wants Odysseus to stay with her on the island forever.
A year.
On circe's island, odysseus stayed for 1 year. On calyspo's island, he stayed for 7 years.
Circe is a sorceress, she enchants Odysseus and turns men into pigs, although she doesn't do this to Odysseus (lucky man) she does it to his remaining soldiers. So it is the enchantment that keeps him on the island,
This depends on what island. See related questions.
Odysseus spent seven years on the island of Ogygia with the nymph Calypso.
1 year
17 days
This depends on who she is. See related questions.
7 years
Hermes, the messenger god, suggests to Odysseus that he should leave Circe's island and continue his journey home to Ithaca. Hermes warns Odysseus about the danger of staying too long on the island and advises him on how to break Circe's spell.