Sketch starts only after opening the serial monitor

The arduino sketch starts only after opening the serial monitor.

Is that still the case if you comment out all the Serial method calls?

Including SoftwareSerial.h once is usually sufficient.

The #define/#endif guard to prevent multiple inclusions is hardly needed in the sketch.

The SerialLCD class is using SoftwareSerial, too. Multiple instances of SoftwareSerial need to be used with care. Only one instance at a time can listen. You need to be sure to make the RFID-reader active again after EVERY call to write to the LCD.

Having three instances of SoftwareSerial as well as an instance of HardwareSerial is a sure sign that you are using the wrong hardware.