In the project, Path Enemies will die if they hit the end of the path because their code calls queue_free() when hitting the progress ratio.
Unfortunately, because getting shot does not complete the path, the die() triggered from the enemy scene will only free the enemy instance within the Path Enemy from queue.
This leaves behind a bunch of stray Path2Ds and PathFollow2Ds from the ones that get shot.
To fix this, just connect the died() signal from the enemy instance in the PathEnemy hierarchy to the Path2D node and call queue_free() from there.
In the node inspector for the enemy scene inside of the path_enemy scene:
In the script for the path_enemy:
Now when the enemies die, the path dies. Hope this helps!