You've answered your own question - Scotland has the SNP to represent the country's interests, no part of England has similar. And I'd disagree that England is not a two-party nation; it is indeed that with the Lib Dems no more than an occasional pressure relief valve.
All the main parties in Scotland campaigned for Remain. Scotland does not have an identity crisis. Scottish people are Scottish.
IMO, by comparison, people in the north of England do have an identity crisis going on. What does British mean if the Scots don't want to be British? What does English mean if you always have to add 'north of'? "I'll tell you what, lad, I'm not bluddy European!" Something like that.
Also they all read newspapers that tell them to hate the EU.