puppet doesn't remove old mount entry in /etc/fstab

Puppet doesn't automatically remove something, just because it managed a setting in the past and the old resource no longer applies.

If you want to remove that old mount, then remove it with a with something like this.

mount { '/mnt/nfs':
  ensure  => absent,
}