I'm migrating a python application from an ubuntu server with locale en_US.UTF-8 to a new debian server which comes with C.UTF-8 already set by default. I'm trying to understand if there would be any impact but couldn't find good resources on the internet to understand the difference between both.
There might be some impact as they differ in sorting orders, upper-lower case relationships, collation orders, thousands separators, default currency symbol and more.
C.utf8 = POSIX standards-compliant default locale. Only strict ASCII characters are valid, extended to allow the basic use of UTF-8
en_US.utf8 = American English UTF-8 locale. 
Though I'm not sure about the specific effect you might encounter, but I believe you can set the locale and encoding inside your application if needed.
What is the difference between C.UTF-8 and en_US.UTF-8 locales?