Data transmission Serial to TCP
The numbers are ASCII Codes (here is a chart from the Arduino website). 49 is the number 1, and 13 is a carriage return ('\n'). There should be a setting in the bottom right corner of Serial Monitor to change line ending, this should be set to "no line ending." If it is, than client.print() must be adding the carriage return, so you will need to remove it in Python. If you are only sending integers, replace

serial_data = String(Serial.read());


with:

serial_data = String(Serial.parseInt());


In the Python code I suggest adding a print statement to check if the connection is closed after

#came out of loop
    conn.close()