You have a number of steps in your experiment, and each step has the potential to decrease the yield of Cu, or to increase the impurities. One suggestion would be to work out the "yield" for each step as this may give an of whether the reactions are working etc.
How are you collecting the solid copper in the final step? I know that when you add zinc to a solution of Cu2+ solid copper can deposit on the zinc, maybe you are isolating copper coated zinc along with the solid Cu?