This happens for stepType of "max" and "min".  Unfortunately edition 1 does not support maximum and minimum in its "Time Range Indicator" table (Table 5). So ECMWF invented its own centre-specific combination to support this. There is no such issue in GRIB edition 2.

To see this let's try setting the stepType key on a GRIB file whose centre is not ECMWF:

% grib_ls -p centre,edition my.grib1
centre      edition
consensus   1

# Set its stepType to max
% ECCODES_DEBUG=-1 grib_set -s stepType=max my.grib1 max.grib1
ECCODES DEBUG grib_set_string stepType=|max|
ECCODES DEBUG grib_set_long timeRangeIndicator=2
ECCODES DEBUG grib_set_long centre=98

% grib_ls -p centre,stepType max.grib1
centre      stepType
ecmf        max

Here we turn on the debugging to see what other keys get set when we change the step type. We can see that the centre got changed to "98" (=ecmwf). If we had used a different step type (e.g., "accum") this would not have happened.