為何 is more written and archaic. in ancient times, chinese used to say 為何, but today we use 為什麽 more.
in modern chinese, the most difference is that u can use 爲什麽 alonely, such as:——A says."他说的是对的。”——B wonders, then answers." 爲什麽?" but u can not use 為何 alonely. in the upper example, B can not answer "為何?" if B used, A would think," r u an eld?.." factually, it is rarely that we use 為何 in oral chinese :)