Some Vulcan's were basically putting up roadblocks because they feared Humanity would surpass them in technological advancements and possibly try to conquer them later on - at least, this is what Soval indicated towards in early Season 4 of Enterprise (I think Vulcans were also skeptical of the transformation Humanity underwent in the 50 years following FC which is why 40 years later they wanted to monitor us).
And from what we could gather... there is a good indication Humanity would have surpassed Vulcan's level of tech by 2151 - Vulcans at the time were seemingly paranoid plain and simple (unwarranted), and Earth didn't want to lose them as possible allies.
As for why the Klingons are able to keep up with the Feds...
Probably because the Feds shared their technological discoveries with everyone else openly (as i already mentioned). This method would in essence preserve the balance of power between larger organizations and the Klingons would be able to keep up with the Federation (as would the Romulans).
In essence, neither side would gain the advantage - and due to the sheer size of the Federation, the Klingons and the Romulans wouldn't try to directly challenge them because they would probably lose in such a conflict.
As for why would the Feds allow this (share their knowledge even with seemingly hostile races) - because they aren't bent on galactic/universal domination and instead would like to avoid war/conflicts wherever possible and unite other races - this practice is evident throughout the shows.
Plus, the Klingons formed an Alliance with the Federation roughly over 70 years before TNG took place.
It would seem evident that the two would increasingly share knowledge and resources during those decades (minus the small time-frame when the Arcanis sector stupidity bursted out, and post Dominion War), hence the Klingons would be able to keep up the pace either way.