You've juggled the figures a bit there - I quoted £1m v £3m.
Either way, it comes down to a football player who is, by necessity, a mercenary. They are very rarely 'loyal' to any club - they can't afford to be. Its all about the money and setting yourself up for what's to come. Easy to say it doesn't change your lifestyle if you earn £1m a year or £3m a year but it takes a very strange man to turn down a trippling of salary for doing exactly the same job. By your way of thinking nobody would sign for Brentford, or Everton or, as mentioned, West Ham. Who wants to go play in the shithole that is Newcastle? They do though because it sets them up for life or because it represents the next move up the ladder.
You need to take the Rangers supporter playing for Rangers out of your thinking.