why does yamcha look like goku?
Because Gohan is Yamcha's son. Yamcha is a Saiyan from Universe 1 and he is the God of Destruction there. He banged Chi-Chi behind Goku's back. This has to mean that Yamcha is actually a Saiyan.