Cancer – заимствованное латинское слово, которое взяли из греческого "karkinos", и которое уже тогда имело три значения: созвездие, морское животное и болезнь. Корень этого слова праиндоевропейский – qarq – отвердевать, быть твёрдым (не напоминает английское hard?)
Что касается вопроса почему, то Гиппократ и Гален, как и многие другие медики просто заметили сходство крабов с некоторыми видами опухоли при которых вздуваются вены.
Насчёт созвездия, могу сказать одно: все созвездия изначально имеют имена на латинском, а "рак" (и болезнь и животина) на сим языке будет "cancer". В этимологии я не так силён, как в астрономии, поэтому я, сопсна, иссяк.
животина