do..while

You need to move "second" out of the while loop:

void PAUSE_CLOCK_HANDS() {
 byte second, minute, hour, dayOfWeek, dayOfMonth, month, year;
 do {
   readDS3231time(&second, &minute, &hour, &dayOfWeek, &dayOfMonth, &month, &year);
   Serial.print(hour);
   Serial.print(":");
   Serial.print(minute);
   Serial.print(":"); 
   Serial.println(second);
 } while (second <= 30);
}