Обязательно ли для API в Laravel создавать отдельный контроллер?
Нет, не "обязательно".
Ларавель тоже использовть не обязательно, можно накостылить обычным спагетти.
Мое личное ИМХО - лучше использовать вот этот пакет, все в одном файле, не надо создавать кучу файлов типа валидации. Если необходимо можно сразу отправить в очередь а не создавать job прослойку. и тд