Serial issue (blocking and while loop)

Take a look at the code - there should have been a total of THREE 10-second pauses... no?

No. But this will help...

void setup() {
  unsigned long start;
...
  Serial.println("First loop");
  start = millis();  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  while(1) {
...
  Serial.println("Second loop");
  cmd_response = "";
  Serial3.println("AT+CWMODE=1");
  start = millis();  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  while(1) {
...
  Serial3.print("\"\r\n");
  start = millis();  // <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
  while(1) {
...