Могу задать несколько вопросов по технологии отправки/получения информации с сервера (fetch)?
https://learn.javascript.ru/async
https://learn.javascript.ru/network

По порядку.
1. Да, нам нужно его обработать
2. Ну как бы да, нам предстоит обработать второй промис
3. Не нужно возвращать console.log, это не промис, а просто лог результата в консоль, возвращает undefined
1) Я объяснил в прошлом пункте
2) Опять же, console.log никак не влияет на это
...
При использовании fetch он создает и возвращает промис. Это уже внутренняя часть языка, ты не должен акцентировать на ней внимание
...
Так сделано, что нужно обрабатывать несколько промисов. Хз, зачем так сделали)

Контакты в профиле
Нет, не можешь.
https://qna.habr.com/help/rules

3. В процессе создания вопроса пользователь Сервиса обязан:
3.7. Не размещать несколько разнородных вопросов в рамках одного вопроса. Наличие дополнительных вопросов в описании вопроса допускается лишь в том случае, если ответы на эти вопросы непосредственно взаимосвязаны друг с другом и могут рассматриваться как подвопросы одного сложносочиненного вопроса.

На все вопросы можно ответить "RTFM", приложив две ссылки:
https://developer.mozilla.org/ru/docs/Web/API/Fetc...
https://developer.mozilla.org/ru/docs/Web/JavaScri...
И твой вопрос лучше было бы задавать в виде кода, ибо:
// 1 fetch возвращает промис, который представляет ответ от сервера
const promiseWithResponse = fetch("https://example.com");
// 2 response.json() возвращает промис, который представляет спарсеный json
const promiseWithJson = promiseWithResponse.then(response => response.json());
// 3. console.log возвращает undefined и логирует переданный объект
const emptyPromise = responseWithJson.then(json => console.log(json));

1) Почему здесь не играет роли - возвращать console.log(json) или нет. Ведь и в том и другом случае нам вернётся чистый нужный нам объект с нужной нам информацией.
Хз как у тебя так получилось. console.log возвращает Undefined, а по тому после него ничего в промисе не будет.
Дай пример своего кода.
При использовании, fetch автоматически создаёт промис. Но как он это делает? Вот так?
const fetch = new Promise("")
Или он работает как-то по-другому?
Ну там где-то внутри fetch создаётся Promise и возвращается. Как именно - фиг знает. Это может быть и на плюсах реализовано, в теории.

Говорится, что метод .json() позволяет конвертировать промис в JSON-формат. Но я не вижу разницы между тем, чтобы просто вызвать fetch и аргументом передать ссылку, и тем, чтобы вызвать fetch и аргументом передать ссылку, вызвать метод then и передать в качестве аргумента колбэк-функцию, а в ней написать response.json() и вернуть это, вызвать ещё метод then и там написать console.log(json). Потому что и там и там все во вполне понятном и читабельном формате объекта.

Это тебе так только кажется из-за того что ты все свои варианты в developer console проверяешь.
И .json не сам промис преобразует, а тело ответа.