Como os dois , s em (,\)\(,\) , você já correspondeu aos dois primeiros , s e o padrão Regex correspondido até agora não voltará atrás para o resto da linha. Apenas um é deixado agora que é o último , , portanto ele é impresso como está sem qualquer * entre o segundo último.
Se você tiver outro , na entrada, você obterá a resposta desejada (global, g ):
% echo ,,,, | sed s':\(,\)\(,\):*:'g
,*,,*,