Vivado Synthesis currently does not merge registers into the DSP48 if multiple registers are declared separately and are used as the output register bus of a DSP48.
To work around this issue, declare the registers as one register bus rather than declaring them separately.
The fix to this issue will be determined in a future release of Vivado Synthesis.