Na verdade o async/await é não bloqueante, e mantem a asincronissidade.

Ele serve apenas como uma ferramenta para deixar seu codigo mais legível e curto.

Imagine que ele tem um ooder "bloqueante" no sentido de que a próxima linha de codigo irá executar apenas quando o evento acima (conclusão do Promise) for disparado.

Um codigo bloqueante ocupa o processamento enquanto aguarda, e é totalmente proíbido em JavaScript:

let value;
do {
  value = document.querySelector('#field').value;
} while (!value)

Esse código irá travar o browser (ou a aba), pois não sobra recursos de processamento para o browser funcionar.

Consegui compreender melhor, obrigado pela ajuda!

Mais ou menos, porque ele é concorrente(divide cpu) ele tem um modelo de event loop. Tem até uma palestra antiga do Fabio Akita, que ele fala sobre Elixir e dá alguns exemplos o nodejs.

The Elixir of Life por Fabio Akita - DevInSantos 2015