I guess the undefined `Hello` is confusing the parser which manages to get itself sort of back in sync at the `end function` so the next function is recognised, but not as part of the module. Note the integer `i` is not recognised either when the `Hello` is present.
I presume `Hello` is defined in `hello_mod`, but since Geany has no information where to find that then `Hello` is undefined. Since `Hello` is not defined the program is erroneous.
The parsers have only a limited ability to handle erroneous input, so I think its not doing badly actually recognising the second function at all.