Zverev assumed top ranking after the late withdrawal of Rafael Nadal and he had not lost a set all week.
But Del Potro, who has won 16 of his 20 career titles on hard courts like the one in Acapulco, dominated his higher-ranked opponent in a match that lasted just 90 minutes.
Roger Federer becomes oldest world number 1
The Argentine never lost a break point all night and hit only one double fault. In Saturday's final, he will take on fifth seed Anderson, who is on track for a second consecutive title after winning the New York Open two weeks ago.
Anderson, who is enjoying one of the finest spells of a long and solid career that has brought him four titles, used his height and power to serve 18 aces against Donaldson.
The South African also hit more than double the number of winners against his opponent - 37 to 17.
"I really felt I did well just fighting as hard as I could," he said in a courtside interview. "The match point felt great to really go after it and execute the way I wanted to."
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ