GSM SIM900 isn't communicating with the Arduino
The SIM900 module needs 2A to operate.

Answers to all your questions can be found in the datasheet. https://simcom.ee/documents/SIM900/SIM900_Hardware%20Design_V2.05.pdf

The module needs shorts bursts of 2A when transmitting. It cannot transmit without a SIM card, so it is fine running in standby mode. It looks like what you are seeing is the module turns off as soon as it draws more power when trying to register to the GSM network.

Because the bursts are very short, one solution is to put a very large capacitor on your power pins. The average power requirement is lower than 2A and you can still use a weaker supply. The capacitor will cover the extra power demand for short times.

Another solution is to simply use a 2A supply.

I must point out: be careful with your voltage. The allowed supply voltages are from 3.2 to 4.8 V. You are risking damaging your device if powered from a 5V supply. The supply is never exactly 5V due to tolerances and may go even higher than that. So, never use higher voltage than specified.