Во втором случае блокирует цикл
for count := range resChan {
из такого цикла можно выйти только когда канал будет где нибудь явно закрыт
close(resChan)
, но у вас нет надежного места где закрыть. Поэтому переписать например так
for count := 0; count < len(list); count++ {
counter += <-resChan
}
Кроме того вы считаете входения "hello", а у вас только входения "hello," вы ведь разбиваете пробелами а не запятыми. Вот работающий код
https://play.golang.org/p/DbsqnN1kxOY