Proteas stars Dane Piedt and Dane Paterson combined for eight wickets as New Zealand fell 31 runs short of South Africa's first-innings total on day two of the second Test in Hamilton.