Puedes usar groupBy()
método con cierre:
$months = NewsItem::groupBy(function($d) {
return Carbon::parse($d->created_at)->format('m');
})->get();
O obtenga datos primero y luego use groupBy()
sobre la colección Eloquent:
$months = NewsItem::get()->groupBy(function($d) {
return Carbon::parse($d->created_at)->format('m');
});