Steve has given a long list of good reasons why, so if I may add a
(1) Most commands issued by the city itself would work completely
differently than the same commands issued by any other unit. So even
if they have the same name there would be little or no shared code or
meaning and attack() would basically just become one big switch
statement. While generality is generally (if I may say so... :-) ) a
good idea, calling completely distinct actions by the same name only
adds to confusion and yields no simplification.
(2) Why should cities be different from ships or buildings ? You
don't have two levels of control for them. If you are the leader of
the stack under them, you are the boss - period.
(3) The meaning of being the government of a province is clear, but
what is the meaning of being able to issue commands for that province
as distinct from being the government of that region ? Does that mean
that you actually _are_ the people of a province ? That they all are
your employees ? Or what ?