Earlier quoted context omitted.
Why is the order of the headers different between those two examples?
I haven't looked at any code, but I would strongly suspect that it's because either HTTPie or python-requests is using a plain dictionary instead of an ordered dictionary under the hood.
I checked the server and it looks like CURL has it right.
Colorizing is one thing, reordering is quite another, debugging tools should show the situation with as much fidelity as possible.