According to the film's official novelisation, Superman was able to break Zod's neck simply because while Kryptonians are far stronger than humans (making it impossible for a human to have snapped Zod's neck), Kryptonians are perfectly capable of inflicting harm on each other.
Note that what look like mere punches and kicks in the earlier fight sequence would have resulted in a human dying instantly.
They fought savagely, hand-to-hand, upon the floor of the station.
Their superhuman blows inflicted damage no human weapon could match.
Indestructible Kryptonian fabric ripped in the struggle. Vicious kicks
and jabs, delivered with Herculean force, left their faces bruised and
bloodied. A fist of steel split Zod’s lip, and he retaliated by
driving his knee up into Superman’s chin. The blow, which would have
sent a cast-iron safe into orbit, loosened Superman’s teeth.
He tasted blood.
But Zod’s unreasoning rage made him sloppy. He charged like an animal,
lowering his guard long enough for the Man of Steel to deliver an
old-fashioned haymaker that sent him flying backward across the
terminal. Zod hit the floor hard, only to discover that Superman had
already shot across at super-speed to be there waiting for him.
And then the coup de grâce, against a severely beaten enemy...
A little girl sobbed as the beam came closer, now only moments away. Superman cried out in anguish, knowing he had no other choice. It was Zod’s life—or the lives of innocents. He marshaled every ounce of strength that remained within him. And then...
He snapped Zod’s neck.
His form went limp, his fiery gaze extinguished instantly. Superman released the body and let it slump to the floor. Gazing down at the dead Kryptonian, he was surprised by the peaceful expression on his face.