Делайте как можете, в процессе скорее всего будут мысли как что-то упростить/улучшить. Постепенно будете понимать для чего было сделано так, а не иначе. Тупое повторение почти ни к чему не приведёт
Читайте про шаблоны проектирования и вникайте
Полезно почитать
Совершенный кодТакже я не понимаю в каком случае нужно делать API сервер, а в каком случае обычный сервер
Скорее backend, а не сервер. API делается для упрощения поддержки. У вас получается единая точка для работы с сайтом, с которой может взаимодействовать фронтенд (например делая AJAX запросы), мобильное приложение и всякое другое
Я знаю о таком шаблоне как MVC, но я все равно не понимаю почему он именно такой, и почему именно так устроен.
У всего есть причина и это значит, что шаблон решает какую-то проблему. Есть много других шаблонов (например MVC, MVVC), для веб приложений MVC - простой способ разделить обязанности, но никто не обязывает вас следовать ему, можете попробовать другие шаблоны