Well, I suppose because #key (even if key is can.List) works as usual: when key is changed (any change inside list) the whole block is rerendred.
And #each is special helper that is supposed to handle atomic changes in can.List.