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 was gone for twenty years, ten of which were spent on Calypso's island.
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