The boat carrying 96 migrants has been stuck in deep sea for 18 days after hardline interior minister Matteo Salvini declined to allow it to dock.
The migrants were trying to reach the southern Italian island of Lampedusa, only a few hundred metres away.
Open arms says some migrants have jumped into the sea in a desperate attempt to reach Italy but were rescued by coastguards.
Italian Transport Minister Danilo Toninelli said on Monday that his country was ready to take all the migrants to a Spanish port, with Spain saying it would accept them into its borders.
Open Arms however says the migrants are in no condition to make the long journey.
Italy bans private rescue ships from bringing migrants ashore, saying it has borne too much responsibility for handling African migration to Europe. According to Interior Minister Matteo Salvini, the ships have become “taxis” for people smugglers.
The migration crisis continues to plague the Mediterranean Sea as thousands of migrants seek to reach Europe each year.
According to the International Organization for Migration (IOM), 18,815 migrants have already arrived in Europe so far this year.
UNHCR says thousands of other refugees and migrants are held in detention centres in Libya, after their attempts to reach Europe were thwarted.
Other than Spain, other countries have also offered to take the stranded migrants in, including France, Germany, Romania, Portugal, Spain and Luxembourg.