https://gsap.com/docs/v3/Plugins/ScrollTrigger/
It's because one of those is a tween on a ScrollTrigger with scrub: 1 - so it will take 1 second to catch up to the scroll position - and the other one is natively scrolling. So there will always be a discrepancy between the two - which will only become more apparent the faster you scroll.
If you want both to behave the 'exact same', set scrub: true instead of scrub: 1 to your airpods ScrollTrigger.
You'll lose the smoothness of the scrub then, of course.
Or instead tween the 'over-scrolling' of the video via a ScrollTrigger that also has a numeric scrub of 1 set.
But then, one way or another, you'll get a discrepancy again between that video container and the subsequent containers which would scroll natively.
At this point you might end up in a 'tween everything' approach like Mitchel (@mvaneijgen) suggested in his earlier answer with the thread he linked to.
An alternative to that approach could be to use overall smooth-scrolling instead, e.g. via ScrollSmoother alongside scrub: true on the airpods ScrollTrigger.
Technically it's also a 'tween everything' approach - just on another level. And you'll lose some native browser features like e.g. jump-to search via F3.
Is it worth the extra mile? Depends on how much you're a sucker for detail and how much the - most of the time visually small - asynchrony bothers you.
Is any one better than the other? Depends on you again. Each of them has its downsides, if you ask me.
Personally I'd go with the overall smooth-srolling - but that is merely a suggestion, not a recommendation by any means.
It will definitely add another level of complexity with some regards.
The latter - here it was just to keep track of what marker is related to which ScrollTrigger.
But it can also be a helpful tool if at any point in time you might need to target any specific ScrollTrigger on your page for whatever reason logic-releated.