Arduino ethernet BOARD example

If your client returns "Joe", I don't see how that code extracts just Joe, or >Joe.

    if ( c =='<') {
       
      readingName = true; 
      name = "";
    }

Presumably, readingName is false until this code is executed. Hard to tell, since you post ALL of your code.

So, the arrival of the < sets a flag that says to store the characters that follow.

    if (readingName) {
      if (c != '>') {
        name += c;
      }

c contains '<', still, so it should be stored in name.

The characters "ame" are not '<' and not '>' (the only special characters), so they should be added to name, too.

Then, you read a '>' (at the end of ). It is a '>', so that if block is skipped, and the else portion is executed.

      else {
        
        readingName = false;

        Serial.println(name);
        lcd.setCursor(0,1);
        lcd.print(name);
        delay(1000);

      }

I'd expect to see "ame" show up on the lcd for one second.

I think what you really need to do is store data starting when the '>' (at the end of ) arrives, and stop when the '/' (in ) arrives. Then, lop off the last character and display the rest.