Admin Mode Not Fully Working

  char readByte, tempByte, addByte[13], ...

So, addByte is 13 bytes long.

        Serial.println("Done Reading");
        Serial.print(addByte[0]);
        Serial.print(addByte[1]);
        Serial.print(addByte[2]);
        Serial.print(addByte[3]);
        Serial.print(addByte[4]);
        Serial.print(addByte[5]);
        Serial.print(addByte[6]);
        Serial.print(addByte[7]);
        Serial.print(addByte[8]);
        Serial.print(addByte[9]);
        Serial.print(addByte[10]);
        Serial.print(addByte[11]);
        Serial.print(addByte[12]);
        Serial.print(addByte[13]);

You are displaying 14 bytes there (0 to 13).

Nowhere in your code to you move anything to addByte. So naturally it displays rubbish.

        if (cardreading && tempByte != 2 && tempByte != 10 && tempByte != 13) {
          tagString[index] = tempByte;
          index ++;
        }

You are reading into tagString not addByte.