So this is a little bit wrong. The datetime.datetime.utcnow() will create a datetime instance set to the utc timezone, but without any actual timezone information associated with it. The dateutiles.to_utc_datetime() will assume a local timezone if it cannot find timezone information. This is what you actually want:
dateutils.format_iso8601_datetime(datetime.datetime.now(tz=dateutils.utc_tz()))