"Cantar" es un verbo y "bien" es un adverbio. Un adverbio es una palabra que modifica un verbo, adjetivo u otro adverbio. En este caso, "bien" modifica el verbo "cantar".
"Bueno" es un adjetivo y sólo puede modificar sustantivos. Por lo tanto, "bueno" no se puede utilizar para modificar el verbo "cantar".