I have finally managed to get close to having my program start automatically when the pi zero is booted up, but not quite in the way I would find ideal.
I am using the 'systemd' method, which I confess is a little confusing to me, but it only works if the pi config is set to boot up with a monitor and GUI, not CLI.
A monitor does not need to be physically connected but the program does not work without a keyboard attached.
Any suggestions would be very welcomed.