Yes, Japanese has loads of homophones. But most of them have completely different meanings, so there's no risk of confusing them. It doesn't really make learning Japanese any harder.

Many of those aren't really homophones, anyway. In "chiizu" (cheese), the 'i' is doubled, whereas in "chizu" (map), it isn't. This is a huge difference to Japanese ears, cheese is 1 beat longer: it's impossible to mix them up. As for "hana" (nose) and "hana" (flower), one of them has an accent on the 'na' (not written, only in speech) in standard Japanese, which causes words following it to have a lower pitch. "iru" (to be) and "iru" (need) aren't the same type of verb, so in almost every form, they won't be pronounced the same.

See? Japanese isn't so bad. If you think Japanese is complicated, try English.