Digraphs can still unambiguously denote sounds, but Zamenhof really wanted the canonical spelling to have one character = one phoneme.
And, ironically, it was easier to do it back then compared to the computer age, because typewriters did something similar to Unicode combining marks - specifically, on the French typewriter, you'd have a single key for ^ which was used to overtype letters where circumflex was needed. And since French typewriters were very common in all countries Zamenhof used circumflex for his letters (except Ŭ, seemingly just because).
As far as digraphs, using "h" can be ambiguous in some cases, which is why Esperanto digraphs are more often written using "x" these days when diacritics aren't available for some reason. I actually quite like that scheme for several reasons. The obvious one is that "x" is then strictly a modifier letter with no sound value of its own, like hard/soft sign in Cyrillic, so all digraphs are unambiguous. But also, there's a matching diacritical mark, "combining X above". So we could e.g. say that "cx" and "c̽" are the same thing, and you use the latter when possible falling back to the former when you need ASCII.
And, ironically, it was easier to do it back then compared to the computer age, because typewriters did something similar to Unicode combining marks - specifically, on the French typewriter, you'd have a single key for ^ which was used to overtype letters where circumflex was needed. And since French typewriters were very common in all countries Zamenhof used circumflex for his letters (except Ŭ, seemingly just because).
As far as digraphs, using "h" can be ambiguous in some cases, which is why Esperanto digraphs are more often written using "x" these days when diacritics aren't available for some reason. I actually quite like that scheme for several reasons. The obvious one is that "x" is then strictly a modifier letter with no sound value of its own, like hard/soft sign in Cyrillic, so all digraphs are unambiguous. But also, there's a matching diacritical mark, "combining X above". So we could e.g. say that "cx" and "c̽" are the same thing, and you use the latter when possible falling back to the former when you need ASCII.