The Union Jack is a symbol of empire and colonialism which the St. George's Cross isn't.
However, the football thing is more recent. If you watch "the Italian Job" from the 1960s, the England fans wave around Union Jacks instead of their own specific flag (as Scotland and Wales fans would). Clearly in the intervening years, England fans have discovered the England flag.
Scottish and Welsh people seem to be a lot more comfortable with their identity than English do. And that includes their flags. I have seen countless bits of research which suggest that ethnic minorities happily identify as Scottish and Welsh in Scotland and Wales, but in England, they identify as British rather than English. I suggest you read Billy Bragg's "the Progressive Patriot". He is an English socialist who has tried to reclaim English identity from the far right, which he is entitled to.
In Scotland, Wales and Northern Ireland the Union Flag is a reminder that the UK countries are ultimately run by England, where there isn’t a true acknowledgement that the countries are culturally different, let alone able to rule themselves.
Within England the St George’s Cross has become a symbol of exceptionalism and superiority, not least because it is prominently flown on nationalist and supremacist marches. Since the Union Jack includes the other countries in the Union, use of St George is often seen as a snub to the other countries.
So England can’t win? No. Correctly so, IMO, because of history and context (I am English).
Oh, and you'll find it at plenty of football matches, notably Glasgow Rangers, who fly it while singing songs about wanting to be "up to our knees in Fenian blood".