There's a disconnect here on what the server thinks is supposed to be running - it started ldap, because the ldap_host config was equal to the zimbra_server_hostname config item (both in zmlocalconfig) - but when it queried ldap for other services to start, it didn't find any.
Get the logical hostname with zmlocalconfig zimbra_server_hostname, and then get the ldap attributes for that server with zmprov gs
. If you get server not found, get the list of configured servers with zmprov gas.
If there are no servers listed, check /tmp/install.log. for ldap errors.