I too would agree that you should use Zachary if you love it. I have two cousins who both have the same first name, and one gets called by a nickname, the other firstname middle name, so they have always been completely different and separate. Never been a problem.

Out of the names you suggested, I love Oliver (am considering it if I ever have a boy), but the others, not so much.

Someone suggested Sam, which I think is a beautiful name.