I can answer this one. Watching your video, I'm 90% confident it is just a polling frequency mismatch in conjunction with a framerate limit that is causing irregular frame pacing.
Your monitor looks to be polling quite frequently because the refresh rate is changing rapidly. Note how it goes both below and above the 120fps mark. But I'd wager the average is 120fps.
With RivaTuner, it is probably polling less frequently. So it says 120fps constant because it is rendering 120 frames every second. But 1 second is an incredibly long amount of time when dealing with frametimes below 0.01s. You render 120 frames every second, but those frames may not have the same frametime, some may take longer than others.
What you need to do is go into Rivatuner and change the polling frequency to be much more rapid. Choose as low as you can reasonably go whilst still being able to read the FPS counter, maybe 0.2s to begin with. I expect you will find that your "120fps" is not actually constant, it is doing what the monitor says, jumping up and down i.e frametimes are not a consisnt 1/120 = ~8.3ms but rather it will be averaging to 8.3ms but actually moving around between say 7ms and 9.5ms. Add a frametime graph if you can too.
edit: There can be 'valid' reasons for this. Imagine a scenario where you are running a 120fps cap, so targeting 8.3ms average frametime. The game hits a situation where it is too demanding to produce a frame in 8.3ms. Lets say it takes 9ms or the equivalent of ~111fps. Then the demand on the system is reduced. We are now "behind schedule" to hit a 8.3ms average so we take advantage of the reduced demand and produce frames quicker, lets say every 8ms for a while. This pulls the average back down. And we get back on track at 8.3ms average or 120fps equivalent. This all happens very rapidly within a single second. Now you could make an argument that a true framerate limiter would never allow a frame to render quicker than 8.33ms i.e. it should have a resolution of a single frame, but that in itself might carry quite a system overhead and is probably a debate for another day.
The refresh rate changing is a good thing in the sense that suggests Gsync is working, otherwise it would just be locked at a constant value.
Tbh, this is a good example of why ideally we should move away from using FPS as a measure of game performance and focus on frametime (min/max/avg/etc) instead. FPS is too coarse a grain, I mean you could have a game running at 360fps but if it renders 359 frames in 0.5s and then 1 frame in the next 0.5s, it will laggy as hell.