Потому что +=
это просто сокращение для полного выражения.
Если бы это было собственное сообщение, то добавление поведения оператора для класса потребовало бы определения оператора присваивания для каждой из сокращенных комбинаций, в дополнение к уже, вероятно, необходимым операторам для простого присваивания и каждому двоичному оператору.
Трудно представить, что можно получить за всю эту дополнительную работу, поэтому Ruby рассматривает объединенные операторы присваивания просто как сокращение для полного выражения.