Это два разных API. Один - это сторона клиента (сам по себе API отсутствует, это просто метод, который устройства [клиенты] используют для подключения к IoT Core), а другой - для стороны администрирования IoT Core.
Мост MQTT используется для подключения устройства к IoT Core для отправки данных телеметрии. Это код клиента mqtt в вашем первом фрагменте. Нет API для устройств для подключения для отправки телеметрии, IoT Core - это просто конечная точка MQTT (или HTTP). В приведенном выше случае у вас, вероятно, также есть код, чтобы сделать файл client.publish для mqtt.googleapis.com:8883. Это подключает устройство к IoT Core через MQTT.
Второй - это то, что вам нужно использовать для вызова IoT Core Admin SDK. Например, если у вас есть скрипт, который хочет обновить конфигурацию на устройстве, управляемом IoT Core.
Ключ JSON, который вы должны были сгенерировать, - это аутентификация с помощью API-сервиса. Здесь есть подробности об аутентификации здесь . В случае устройства, использующего MQTT, нет аутентификации API, он использует JWT для аутентификации в этом случае, но для SDK администратора вам необходимо пройти аутентификацию с помощью Cloud Project, чтобы выдавать такого рода команды администратора.
Итак, TL; DR, в вашем первом фрагменте, это клиент MQTT, который вы создаете. Во втором фрагменте это клиент Google Cloud Project (GCP). Первый - для устройств, отправляющих данные в IoT Core, второй - для вызовов типа администрирования в GCP.