the "Recreate volatile files an directories" is a normal part of the boot process, and happens on all systems using systemd.
the /forcefsck is a file you can create and it tells the system you wish to have it run a full filesystem check on boot, before the filesystems get mounted. That is really about the only way to check your root filesystem without booting a livecd, since you can't unmount hte root filesystem once the system is booted up and running.
That creates the /forcefsck file so that the filesystems get checked on the next boot. When working properly, once the filesystems get checked and are clean, then the /forcefsck file is supposed to be deleted so that on the next boot, a filesystem check isn't forced.
On my systems here, the /forcefsck file is created, then on the next boot, the filesystems get checked. However, the /forcefsck file isn't removed once the filesystem check is completed. So, on every boot after that, until the file is manually deleted, a full filesystem check is done.
Thinking more on this, I don't believe the bug is in e2fsprogs. I believe it's more in systemd. It would be the only thing that would know when ALL filesystems are finished being checked so that it could remove the file.