may have ppは
①〜したかもしれない/②〜してきたかもしれない
have ppが単なる過去のことを表す場合は①
have ppに現在完了のニュアンスを読み取れる場合は②
今回の場合のwhyは関係副詞です。
reasonが先行詞で、whyのまとまりがreasonにかかるように訳すのが基本です。これは関係副詞の基本の基本なんで、文法を一旦見直したらいいかもです。
疑問詞のwhyのまとまりは名詞節になることができます。ただ今回の場合は先行詞reasonがあるから、関係副詞で確定です。
疑問詞と関係副詞はかなり形が似ていて、場合によっては完全に一致してしまってどちらにも取れることがあります。