I'll restrict myself to trace-preserving CP-maps.
One can rewrite O=∑k,lok|k,l⟩⟨k,l|, where the ok are in decreasing order. The non-increasing condition ⟨O⟩ corresponds then to an non-increasing condition on k.
Writing Γ in terms of Kraus operators, one has
Γ(ρ)=∑iBiρB∗i with ∑iBiB∗i=1.
The condition on k given above is then translated into the following writing of the Kraus operators:
Bi=∑k,l,k′,l′k≤k′Bklk′l′i|k,l⟩⟨k′,l′|.
Another way to say the same thing is the condition Bklk′l′i=0 if k>k′.
Then, of course, the normalization condition imposes
∑i,k′,l′//k≤k′|Bklk′l′i|2=1,∀k,l.
If you apply the same reasoning with a non-increasing and non-decreasing condition, you find that k has to be conserved, and this is then equivalent to the commutativity condition you give in your question. In the same way, this answer is not general: you have operations which preserve ⟨O⟩ without commuting with O.
This post has been migrated from (A51.SE)