There are many, many threads on this issue, but to recap:
1) the passport you show to get your boarding pass does not need to be the same you use for Immigration/Customs.
2) each country's immigration/customs checkpoint is an independent transaction. Use whichever passport is easiest to get you through that checkpoint in a particular direction (entering vs. exiting).
For you:
ATL - HK: US passport at airline check-in. US passport at immigration/customs in Hong Kong.
HK-China: US passport for outbound immigration (if there is one) in Hong Kong. In Hong Kong, show Canadian passport with mainland China visa if asked how you plan to enter mainland China. Canadian passport for inbound immigration/customs in mainland China.
China - HK: Canadian passport for outbound immigration (if there is one) from mainland China. US passport for inbound immigration/customs (if there is one) in Hong Kong.
HK - ATL: US passport at airline check-in. US passport at outbound immigration (if there is one) in Hong Kong
ATL: US passport for inbound immigration/customs.