After quite a bit of debugging, I finally found the issue! The issue is in the Player.tscn file. You have the health_changed signal connected through the editor to the _on_player_health_changed function. This causes an infinite loop, because the on_player_health_changed function emits health_changed, which is crashing the game.
To fix the issue, just remove the connected health_changed signal in Player.tscn and the game should work without crashing. You might also need to disconnect the signal from the instanced Player.tscn in the main game scene as well.
If that does not work, I can provide the working project I debugged.
Hopefully this helps!
(Side note: Welcome to the forums)