Problem subdividing edge loop in a model
Why it happens:  

When you subdivided the top loop, two things happened:  


You created n-gons, which behave differently with Subdivision.  
You made the loop to look more like an octagon.
It's a real pain to repair these issues, not worth your time :).


Smart solution :

Use the Screw modifier instead: 


Keep only one side edge of your object.  
Add the Screw modifier. That way, you can adjust the number of edges to your needs.
You can also change the number anytime you want, until you Apply the modifier.
And make sure to check Calc Order   


Add the Subdivision modifier after the Screw modifier, if you need it.  



3D view so you can see better what's going on.



Dumb solution:

You can make any shape into a circle using the To sphere tool.
It's a very useful tool, but in this case it won't help much, because of the ngons.



Further reading:
Screw modifier in Blender Manual.