You made this situation worse by not firing them sooner. This is 100% on you. You let this drag out far too long until it comes time to vest.
Now you're going to make this even worse by not letting them vest? You're making mistake after mistake. You're going to look like an asshole in front of the other employees and they won't forget that because you could turn around and do it to them.