A razão pela qual você está confundindo os conceitos é que os fornecedores os estão vendendo em um pacote. Mas eles são definitivamente conceitos separados.
Um API Gateway fornece um ponto de acesso central para gerenciar, monitorar e proteger o acesso aos seus serviços da Web expostos publicamente. Também permitiria a consolidação de serviços em pontos de extremidade diferentes, como se todos fossem provenientes de um único host. Por exemplo, digamos que você tivesse dez pontos de extremidade de serviço diferentes que faziam parte de um único "conjunto" de serviços. Em vez de informar os consumidores de seu serviço para usar service1.yourcompany.com para um serviço e service2.yourcompany.com para outro e assim por diante, você pode fazer com que todos aponte para api.yourcompany.com/service1 ou api.yourcompany.com / service2 e o gateway seria responsável por redirecionar as solicitações para os pontos de extremidade apropriados.
Um ESB é um "barramento" interno que permite que aplicativos e serviços se comuniquem entre si de maneira desacoplada. Todos os aplicativos podem se conectar ao barramento e podem receber qualquer mensagem que lhes interesse quando publicados por outro aplicativo. Eles também podem publicar suas próprias mensagens que outro aplicativo pode ouvir e responder. Os aplicativos não são responsáveis por se conectar diretamente, publicam suas mensagens no ônibus e todas as partes interessadas ouvem e reagem.
Logicamente, o API Gateway não é um substituto para um ESB, mas um aprimoramento para uma arquitetura orientada a serviços.