Te sale un 1 porque el pseudoelemento before es uno por cada li.
Por cada nuevo li se implementa un NUEVO :before, con lo cual la cuenta siempre se estará reiniciando.
Edito: posible solución
Has el conteo en .post ol li, y no en .post ol li:before
Código CSS:
Ver original.post-outer ol{
margin-left:0;
padding-left:0
}
.post ol li{
position:relative;
margin:0 0 20px 2em !important;
padding:4px 8px !important;
list-style:none;
*list-style: decimal;
counter-increment:li;
}
.post ol li:before{
content:counter(li);
position:absolute;
top:-8px;
left:-39px;
font-family:'Oswald', serif;
font-size:40px; /*tamaño de la fuente*/
width:34px;
margin:0 0 10px 0;
padding:4px !important;
color:#000;
text-align:center;
}
http://jsfiddle.net/c2am/HSRfX/41/