Hello, I believe the order of the Macleods you have is incorrect.
My understanding is that "Ian 'Breac' Macleod (John 'the Speckled'), 18th of MacLeod" who was born in 1637 and who was the son of Ian 'Mor' Macleod, 16th of MacLeod and Sybella Mackenzie. He married Florence Macdonald. All aligns other than the order you have.
SOURCE: http://www.thepeerage.com/p14707.htm
#14 John 1580-1595
#15 Sir Roderick (Rory Mor; Ruairidh Mor)
#16 John (Iain Mor)
#17 Roderick 'the Witty' (Ruairidh Mir)
#18 John 'the Speckled' (Iain Breac) <---- Ian / John the speckled