The reason the atoms in your NP are moving apart is the NPT fix you’re using. Even though you’re only applying the npt fix to the chain atoms, when the box expands/contracts, the positions of all of the atoms in the box are scaled accordingly. To rescale only positions of the fix group, add “dilate partial” to the end of your npt fix command. Like this:
fix 1 chain npt 0.5 0.2 0.1 aniso 0 0 0 0 0 0 1.0 dilate partial
That makes the problem go away.
You may have run into something similar when using fix rigid.