"Sing" is a verb, and "well" is an adverb. An adverb is a word that modifies a verb, adjective, or another adverb. In this case, "well" modifies the verb "sing."
"Good" is an adjective, and it can only modify nouns. So, "good" cannot be used to modify the verb "sing."