The Political Machine does model those things. The problem IMO is that it doesn't display this clearly enough to the player.
The status screen isn't in yet which will come up every game month (every 4 turns) letting you know which isues people are really getting riled up about and what each campaign has done.
The mechanics are fairly straight forward:
You have awareness which is the % of people who have heard of you.
You then have your position on a given issue: 0 means you're neutral. - points means you're against it and positive points you're for it. The higher your points in any direction the more aware people are of your position on that.
Meanwhile, the people in the various states have the same thing based on their political persuasion (Democrats, Republicans, and Indies). - means they're against it + means they're for it and the higher the number in either direction the more they care abou tit.
When you take out advertisements on a given issue, you do the following: You add an immediate point out (+1, +2, or +3 based on the ad in the state but with radio and TV ads giving a bonus value nationally) to your position on the issue plus a % each weak adjustment to it.
So if both candidates have 100% awareness at the end of the game you then go down on each issue and count up the points.
i.e. let's use Michigan and Abortion Rights.
Democrats in Michigan: +15 on Abortion Rights
Republicans in Michigan: -12 on Abortion Rights
Indies in Michigan: +2 on Abortion Rights
Bob Republican's position: -4 on Abortion Rights
Joe Democrat's position: +3 on Abortion Rights
And finally in Michigan 42% of people are Democrats, 33% are Republicans and 25% are Independents (making this up for this example).
So you then multiplay these various factions together and end up with a score on each. The bigger the difference in scores, the bigger the lead.