I know of two methods to produce a fixed vertex size.

## `Scaled`

  Use [`Scaled`](http://reference.wolfram.com/mathematica/ref/Scaled.html) for [`VertexSize`](http://reference.wolfram.com/mathematica/ref/VertexSize.html) and set `AspectRatio -> 1`:

    options = Sequence[VertexStyle -> Black, VertexLabels -> Placed["Name", {Center, Center}],
        VertexLabelStyle -> Directive[16, White], GraphLayout -> "CircularEmbedding", 
       EdgeShapeFunction -> ef2, ImageSize -> 400, VertexSize -> Scaled[{0.1, 0.1}], 
       AspectRatio -> 1];

![enter image description here][1]

## `Offset`

As demonstrated  in http://mathematica.stackexchange.com/questions/788/how-can-i-specify-the-arrowhead-size-in-printers-points/797#797 if you construct a `Graphics` expression using [`Offset`](http://reference.wolfram.com/mathematica/ref/Offset.html) coordinates it will be rendered at a fixed size.


    vf[xy_, _, _] := {Red, Rectangle[Offset[{-1, -1} 15, xy], Offset[{1, 1} 15, xy]]}
    
    options = Sequence[VertexStyle -> Black, VertexLabels -> Placed["Name", {Center, Center}],
       VertexLabelStyle -> Directive[16, White], GraphLayout -> "CircularEmbedding", 
       EdgeShapeFunction -> ef2, ImageSize -> 400, VertexShapeFunction -> vf];

![enter image description here][2]


  [1]: https://i.sstatic.net/01xGK.png
  [2]: https://i.sstatic.net/rjx1y.png