下記の [score,idx]=max(score) でスコアが最大のもの選択しているようです。
[bbox,score,label]=detect(rcnn,img,'MiniBatchSize',32);
[score,idx]=max(score);
bbox = bbox(idx,:);
annotation = sprintf('%s:(Confidence = %f)',label(idx),score)
detectedImg = insertObjectAnnotation(img,'rectangle',bbox,annotation);
上記を下記のように書き換えると複数表示されると思いますよ。
[bboxes,score,label] = detect(rcnn,img,'MiniBatchSize',32);
detectedImg = insertObjectAnnotation(I, 'Rectangle', bboxes, cellstr(label));
ただし、 score である程度、絞らないと誤検出が増えると思います。