current
является ссылочным объектом, вам понадобится Object.assign({}, current)
внутри вашего массива, чтобы убедиться, что вы получаете 2 копии исходного объекта, например:
let d = data.reduce(function (res, current) {
return res.concat([Object.assign({}, current), Object.assign({}, current)]);
}, []);
Или с оператором распространения, так
let d = data.reduce(function (res, current) {
return res.concat([{...current}, {...current}]);
}, []);