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);
}