Systemd service - Python script inside Screen on boot

Type=simple expects the service's main process to continue running forever. Your actual command, however, is telling Screen to do the opposite – start a new session and fork to background.

When Screen does that, systemd assumes the service has exited, and cleans up all leftover processes – including the "backgrounded" Screen process. (This doesn't even count as a "failure".)

To avoid that, either change type to forking, or the Screen -dm option to -Dm.