Although it has some weirdnesses of its own, such as having jamo that change their sound based on context (e.g., ᄋ is silent if it’s an initial consonant but has the sound ng at the end of a syllable). Nearly every consonant has a different sound between initial and final position, although many of these are inaudible to English ears. On the other hand, having been a consciously designed writing system, it does have a rationality that most traditional writing systems lack, such as the fact that all vowels are based on either ㅡ or ㅣ with additional strokes added as appropriate to modify the base vowel (the fact that a double stroke, e.g., ㅑ or ㅛ represents the single stroke vowel with a y- sound prefixed seems just brilliant to me).
Hangul made more sense the way it was originally designed - for example, ᄋ [∅] was distinct from ㆁ [ng]. It was also much more phonetic originally, but subsequent reforms have turned it into more of a morphophonemic orthography, while at the same time not updating it wrt evolution of the language other than dropping obsolete jamo (which is why vowels can't be organized quite so neatly as they used to be).
Consonants changing their sound based on position is not such an abnormality — that's just basic phonology. This phenomenon (allophony [1]) is found in virtually every language, but it remains a bit obscure to laymen, since it is mostly undetectable to the language's own speaker.
For instance, the phoneme /t/ is always rendered by the English letter /t/, but that phoneme can be rendered in so many different ways. In an initial position it would be rendered as an aspirated voiceless alveolar plosive [tʰ], equivalent to the Korean Jamo ㅌ in initial or intervocalic positions. An English /t/ in other positions is generally not aspirated, but besides that the rendition is highly dependent on the speaker's accent. MRP ("BBC English") speakers render a "final" /t/ (i.e. after a vowel or consonant, but not before another vowel) as as [ʔt] ([t] sound preceded by a glottal stopped) or even just as a pure glottal stop [ʔ]. In intervocalic position RP speakers would keep /t/ as a simple [t] sound, but most Americans would change this sound into a voiced alveolar flap [ɾ]. Cockney speakers famously change an intervocalic /t/ into a glottal stop (so you'd get something that sounds like "woh-ah" for "water") and I didn't even get into how /t/ behaves when it follows other consonants such as the elided /t/ in "listen" or the way some American speakers pronounce "winter".
In all honesty, this is probably just as messy as what happens in Korean, it's just that the Korean allophones are more foreign to us. Besides ᄋ, all the variations are regular allophones. As far as I understand ᄋ was indeed just reused for two different purposes (there is no /ŋ/ phoneme that transforms to an empty sound in initial position).
I'd say that one thing that still makes Hangul hard, is that a lot of consonant clusters sounds sound the same when they come in final position. It makes pronunciation regular, but it's a bit hard to know how to transcribe many words. The vowels ㅐ and ㅔ are also pronounced the same in most (perhaps all?) modern Korean dialects, but that's a small irregularity compared to the redundancies of many other alphabetic writing systems.
In short, Hangul is much more regular than most alphabets. I wouldn't say it is the most regular though — it's hard to beat new writing systems designed by professional linguists for small language that didn't have an alphabet before. Hangul is still an relatively older system that had to go through writing reforms, but still retrains some spelling complexities. And if you compare Korean to Polynesian languages like Hawaiian, with their extremely simple phonology and phonotactics (they have very few vowels and consonants and generally don't allow consonant clusters and final consonants at all) - then the writing system of these languages is much simpler — and almost all of them use the Latin alphabet with a highly regular orthography.
I think there is a more impressive trait of Hangul, that is highly underappreciated. It's an alphabetic writing system that blends very well with traditional Chinese characters. Chinese characters are all monosyllabic (i.e. they represent a single syllable) and while that property is not maintained in Japanese (due to its vastly different phonology), it has been maintained in Korean and Vietnamese. Hangul lets you write each syllable with a single graphic block (even if that block contains multiple "Jamo" letters). All other alphabet systems that have been developed in languages that used Chinese characters (Such as Pinyin, Zhuyin or the Vietnamese alphabet) do not share this property. This means that when you try to add some alphabet letters into a document written Chinese characters, the result is extremely unpleasant typographically. It is not only harder to typeset nicely, but it's also quite painful to read.
Although Modern Korean doesn't blend Hangul and Hanja (Chinese characters) very often, I think this property made Hangul quite a lot more palatable as a replacement for Chinese characters in Korea compared to Pinyin or Zhuyin. Koreans didn't have to throw your entire typographic and calligraphic tradition in order to adopt Hangul: A block is fixed-size (not proportional), the writing is easier to read both vertically and horizontally and you can keep writing it with brush strokes using traditional Chinese calligraphic methods and practices. It can even be mixed nicely with Chinese characters like Japanese Kana (and it would be more compact than Japanese Kana). Eventually Korean language reformers have chosen to mostly drop Hanja altogether, but when you still do need to mix Hanja in a Korean text, you can do it seamlessly.