The closures of hib1 and hib2 are different, that is, there are separate variable bindings.
Calling (funcall (car hib1))
changes the value of f1 and f2 around the hib1.
Those values are totally different to f1 and f2 around the hib2.
So any number of calls to hib1's environment cannot change hib2's environment.