A similar property holds true for a (synchronous) stream cipher.
So if you got not the block cipher AES, but e.g. "Counter mode AES applied on a single block with fixed initialization vector", you'd have
$$E_k(P) = AES_k(I) \oplus P$$
(where $I$ is your initialization vector, e.g. the full 0 plaintext, or any constant, as long as it's the same for each use).
Then you get
$$
\begin{align}
E_{k_1}(E_{k_2}(P))
& = AES_{k_1}(C) \oplus (AES_{k_2}(C) \oplus P) \\
& = AES_{k_2}(C) \oplus (AES_{k_1}(C) \oplus P) \\
& = E_{k_2}(E_{k_1}(P))
\end{align}
$$
(i.e. chaining is commutative) and you'd also have
$$
\begin{align}
E_{k_1}(P) \oplus E_{k_2}(P) & = (AES_{k_1}(C)\oplus P) \oplus (AES_{k_2}(C) \oplus P) \\
& = AES_{k_1}(C) \oplus AES_{k_2}(C),
\end{align}
$$
i.e. the XOR of ciphertexts from the same plaintext is actually independent of that plaintext.
I didn't find a common function which is having your exact property, but there might be some around.
Please verify what actually your "AES" function is. If it's actually the block cipher (also called ECB – electronic code book), then I'd be really interested to see the keys you've used here to get your example.