So my question is if the serial output already contains a newline/carriage return is endl; still necessary?
No. The purpose of endl is to supply the carriage return/line feed (in the proper order and quantity for the operating system it is running on).