その上で、IPアドレスにドメインを設定した時にアクセス可能になると思うのですが、なぜアクセス可能になるのかが分かりません。
ip アドレスが同じでも Web サーバーでホスト名でサイトを振り分けることができるからです。
アクセスの際に名前解決が挟んでいるだけで最後はIPアドレスでのアクセスになるのではないか?という疑問です。
クライアント側で名前解決によって ip アドレスを取得してインターネットを経由して Web サーバーにアクセス・接続してくるというのはその通りですが、クライアントからはホスト名も同時に送信されてくるので(TCP/IP のレベルではなく HTTP レベルの話)、それによって接続するサイトを振り分けることができます。
例えば IIS の場合は以下のようにホスト名を設定できます。下の画像は自分の開発マシンの IIS のもので、サイトはすべて localhost で ip アドレスは 127.0.0.1 です。
画像のホスト名は hosts ファイルで ip アドレス 127.0.0.1 に設定してあります。なので、ブラウザに http://<ホスト名>/xxx/yyy と入力して要求をかけると、名前解決を hosts ファイルで行って ip アドレス 127.0.0.1 で IIS にアクセス・接続に行きます。IIS は一緒に送られてくるホスト名の情報で当該サイトに接続するということになっています。