Well on ESP32 the first few output lines are from the bootloader that spews stuffs out at a fixed 115200 baud. Opening the serial monitor at 2400 baud will cause that data to display as garbled data. You will very likely see that you have no problems with Serial.begin(115200);
and monitor_speed = 115200
.
Per ESP32 How to turn off automatic log of system output - ESP32 Forum, you can connect or pull-down GPIO15 (like 10k ohm) to GND to prevent this bootloader output.