Welcher Satz ist korrekt (Englisch)?

In diesem Satz habe ich das present perfekt progressive benutzt, was mir auch als korrekt angezeigt wurde (hier ist es ja aufgrund des folgenden "Signalwortes" ("at the moment") offensichtlich:

Tom has been working in the book shop for five years. (work)

Satz im Kontext: "Tom has been working in the book shop for five years. But he doensn't like his job at the moment. So he is looking on the internet for other jobs. Yesterday he found something interesting. He thinks he will apply there later." (Quelle: grammarbox.de; 19.03.22)

Hier auch, allerdings sei das falsch:

They have been being a couple for six months. (be)

Richtig wäre: They have been a couple for six months.

Satz im Kontext: "Tessa is at the train station. Her train to London leaves at 4:54 p. m. She is going to visit her boyfriend Jack. They have been a couple for six months. On her last visit, Jack bought her a wonderful ring. They really had a great time so she didn't want to leave him." (Quelle: grammarbox.de; 19.03.22)

Kann mir jemand genau erklären, warum beim zweiten Satz das present perfect verwendet wird, wohingegen beim ersten das present perfect progressive korrekt ist? Es handelt sich doch bei beiden um "Zeit-betonte" (Sätze im Verlauf), die sich noch auf die Gegenwart beziehen.

Ich muss schon zugeben, mit dem present perfect progressive hört sich der zweite Satz auch sehr merkwürdig an, jedoch erschließt es sich mich nicht ganz, warum ich es nicht verwenden darf. Stehe ich vielleich gerade einfach nur auf dem Schlauch...? Oder liegt es daran, dass beim ersten Satz (im Gegensatz zum zweiten) noch zusätzlich Bezug auf die Situation in der Gegenwart genommen wird ("But he doensn't like his job at the moment.")?

Englisch, Present Perfect, present-perfect-progressive, Tenses, Zeitformen