Потому, что смысл алгоритма в том, что d увеличивается до тех пор пока, он не будет делиться без остатка на a и b. while заканчивается по False. Таким образом надо сконструировать выражение дающее False тогда, когда d является делителем a и b. То есть инверсию того условия, о котором Вы подумали.