Потому что путь указывается не относительно файла, в котором находится вызов функции require, а относительно текущей директории. К примеру, если пользователь вызвал скрипт
https://domain.name/a/b/c.php, то текущая директория будет $_SERVER['DOCUMENT_ROOT'].'/a/b' и все относительные пути будут строиться от неё, независимо от глубины вложенности подключаемых файлов, а не относительно подключаемых файлов.
Если хотите указать путь относительно вашего файла вне зависимости от текущей директории, можете воспользоваться константой __DIR__, например.