Go. Что делать, если в коде много схожих друг с другом функций?
Наоборот, написать общую функцию для таких целей — это хороший способ.
У вас тут посыл запроса, обработка кода ответа, парсинг. Это всё отлично выносится в общую функцию, которой потом удобно будет пользоваться. Особенно с дженериками, которые добавили в go1.18
Не стоит объединять похожие, но разные по смыслу вещи. Если конкретный участок кода повторяется прям всюду - вынесите его в отдельный сервис.
Конкретно у вас тут из одинакового - только логгирование при НЕ 200м ответе. Вы ничего особо не сэкономите.
Лучше оставить как есть.