Lopez saved all nine break points he faced against the third-seeded Berdych.
Zverev defeated Haas 6-4, 6-4 for a semifinal against Lopez.
The 39-year-old Haas, who defeated Roger Federer in the second round on Wednesday, was playing for the last time at the grass-court tournament, and he was accompanied by his six-year-old daughter Valentina at the post-match news conference, where she sat on his lap.
"She is the biggest reason why I still do it," said Haas, who plans to retire at the end of the season. "On the whole it was a nice week."
Zverev said he was "a bit sorry, especially because I could always hear his daughter, who shouted, 'Come on, Daddy!' They're special moments. He's a champion."
Also, the fourth-seeded Lucas Pouille defeated Philipp Kohlschreiber 6-4, 2-6, 6-3 for a semifinal against French compatriot Benoit Paire, who beat Poland's Jerzy Janowicz 6-1, 7-6 (4).