English has—twice—gone through a phonetic change that has caused some upheaval in these pronouns.
The initial consonant
Originally, all of them (in Proto-Germanic) started with /ʍ/, that is, an unvoiced /w/. This is still found in some English dialects today; in Ireland and Scotland, for example, most people pronounce ‘wile (away the time)’ as [waɪl], but ‘while’ as [ʍaɪl]. This sound is a voiceless labio-velar approximant, meaning it is pronounced with the lips round (labial) and with the back of the tongue moved up towards the the soft palate (velar).
However, in the earliest stages of English, when this sound came before a rounded high or mid-high back vowel (i.e., [o] or [u]), which are also both labial and velar to a certain extent, it kind of became ‘too much’ for the speakers. Too much labialness, at least. So they dissimilated the sounds: /ʍo/ and /ʍu/ became /ho/ and /hu/.1
At that time, the word that is now ‘how’ was simply /ʍuː/, which of course turned into /huː/. The word that is now ‘who’ was /ʍaː/, and since that had a front vowel, it was not affected and remained as it was.
By the time they started writing down English, this change had already happened, so they wrote ‹hu› (‹hū›) and ‹hwa› (‹hwā›).
Later on, English went through the Great Vowel Shift, which is basically a lot of the vowels moving about a bit. /uː/ regularly became [au] (like in German), and /aː/ usually became [oː]. Once this had happened, of course, the underlying, phonemic form /huː/ was pronounced [hau] or [haʊ], and there was no longer any clue whatsoever that it had once started with a /ʍ/.
The vowel shift also meant that earlier /ʍaː/ became /ʍoː/, written now ‹who› or ‹hwo›. This form then fell prey to the same dissimilation that had happened centuries earlier to /ʍuː/. /ʍoː/ became [hoː].
Later on, through a somewhat spurious and irregular change, the vowel in [hoː] became raised so that we end up with what we have today, which is pronounced [huː], but still written ‹who›.
And of course, in most dialects of Modern English, the distinction between voiced /w/ and unvoiced /ʍ/ has been lost, just like it was in German and Dutch several hundred years before.2
Several words for why
It is true that German has several words that can all be translated as ‘why’ (you mention wieso, weshalb, and warum). This doesn’t actually mean that English used to have these too, and just lost them—rather the opposite.
All Germanic languages have the possibility of creating compounds from interrogative pronouns by adding one of two things:
- Intensifiers and other pragmatic markers
- Preposition (or noun in the dative case, meaning ‘in the manner of X’)
English makes good use of the first (such words as who(so)ever, where(soe)ver, what(so)ever, why(so)ever), but more limited use of the second (wherefore, whereto, whereby, etc., all of which in addition belong to a somewhat more formal register).
German does it the other way around. I’m no great shakes at German, but apart from wieso I can’t actually think of any examples from the first category. In the second category, however, just about any preposition can be added to an interrogative stem.
Wieso is literally ‘why-so’, just like in English whysoever, except without -ever.
Weshalb contains wes, an old genitive form of was ‘what’ and wer ‘who’ (corresponding to English whose, which is the genitive of ‘who’ and ‘what’) + an old noun Halbe ‘half, side, direction’. So the original meaning was ‘in/on the direction/side/part of what?’.
Warum contains an old interrogative wâr, which has nowadays become wo ‘where’ + the preposition um ‘about, because of’. So the original meaning was ‘because of what’ (identical to ‘wherefore’, just with a different preposition).
By adding prepositions to the basic interrogative, German can create extremely specific wh-words; this is indeed not quite possible in English. For example, wozwischen ‘between what?’ is perfectly fine in German, but wherebetween (or wheretwixt if you want to be a bit Shakespearean) does not work in English.
But of original, shared, words for ‘why’ between German and English, there is only really one: wie in German (which has now come to mean ‘how’, rather than ‘why’, except in wieso) and why in English. The rest are later innovations in both German and English.
1 This is a very common phenomenon in many languages. Compare how in Latin /kʷo/ and /kʷu/ (written as ‹quo› and ‹quu›, respectively) often become /ko/ and /ku/ if there’s another labial element nearby: coquō ‘I cook’, for example, represents and earlier *quoquō.
2 Similarly, the East Nordic languages (Danish, Swedish, and some dialects in Norway) have lost the distinction, but the West Nordic languages (Icelandic, Faroese, and some western dialects in Norway) have retained it. In Old Norse, /w/ became /v/, though, and the original /ʍ/ has now mostly become [kv] (from an earlier [hv] or [χv]) where it is retained.