There's an asymmetry because members of O(n) include rotation with random angle and flips with random axis, for $n=2$, the fraction of flips is large, those are $-1,1$ peaks. For larger $n$, bulk of matrices are pure rotations.

Flipping sign of first row makes eigenvalue distribution uniform:

[![enter image description here][2]][2]


```
negateFirstRow[A_] := {-A[[1, All]]}~Join~A[[2 ;;, All]];
sampleO[n_] := RandomVariate[CircularRealMatrixDistribution[n]];
sampleSO[n_] := 
  With[{mat = RandomVariate[CircularRealMatrixDistribution[n]]}, 
   If[Det[mat] > 0, mat, negateFirstRow@mat]];

n = 4;
numSamples = 100000;
SF = StringForm;
label = SF["Eigenvalues for O(``)", n];
Histogram[Arg /@ Flatten[Table[Eigenvalues@sampleO@n, {numSamples}]], 
 PlotLabel -> label, AxesLabel -> {"arg", "freq"}]
label = SF["Eigenvalues for SO(``)", n];
Histogram[Arg /@ Flatten[Table[Eigenvalues@sampleSO@2, {numSamples}]],
  PlotLabel -> label, AxesLabel -> {"arg", "freq"}]
```



  [1]: https://i.sstatic.net/Y3V77Lx7.png
  [2]: https://i.sstatic.net/JCSAwL2C.png