Você está atingindo o limite da precisão dos números do awk.
Você pode forçar a comparação a ser uma comparação de string com:
awk -v num1=59558711052462309110012 -v num2=59558711052462309110011 '
BEGIN{ print (num2""==num1) ? "equal" : "not equal" }'
(Aqui a concatenação com a string vazia força-os a serem considerados como strings em vez de números).
Se você quiser fazer comparações numéricas, terá que usar uma ferramenta que funcione com números de precisão arbitrária, como bc
ou python
.