Your LED might be turning off when the end of the script is reached, for example the following script will turn the LED on for 5 seconds, then end, and restore the pin back to its original state (LED off):
from gpiozero import LED
from time import sleep
led = LED(5)
In order to keep the LED on indefinitely, the script must be kept alive. ...
Since I don't have enough reputation to comment...
In the PI4J library, you use constants like "GPIO_16"...
However, these are not the GPIO pins that you find in the RPI documentation. They are the WiringPI pins.
A mapping is here: https://pinout.xyz/pinout/wiringpi