The first ghost reminded him that he had been loved once, that there was, in fact, something lovable about him, and that he was once capable of returning that love.
The second ghost showed him the crossroads he was at, people still cared about him. Bob sticks up for him when it's clear Scrooge doesn't deserve it, and Fred expresses pity for him for his loneliness. But in those moments he also sees the fruits of his actions, Mrs Cratchit's pure distain for him and Fred's party goers jumping at the chance to make fun of him.
He is shown that he could go back to the days of Fezziwig and that he could join Fred's party and still be welcomed with open arms.
But the last ghost shows him that there is a deadline to fixing his life. If he doesn't get his act together, he's going to be despised at worse and dismissed at best.
OP is absolutely right, the last ghost only worked because Scrooge was shown what he could have, what was right within his reach. He wanted that, he was changing, he was ready. The last ghost just sealed the deal by letting him know what was at stake.