yeh, there are a lot of variations, many of them down to dodgy spellings by the OS blokes collecting names. but also partly because Gaelic was a purely oral language for many years, so different people would write it in different ways
the current dictionary spelling is cailleach which means an old woman; a nun; the veiled one; the last handful of standing corn on a farm; the circular wisp on the top of a corn stalk
but it is also used to mean a witch or a hag, since all old women are clearly witches! although there is a specific Gaelic word for witch - buidseach
Cheers
Andy