Você precisa criar um novo array com essa estrutura antes de codificá-lo como objeto json. Isso faria o trabalho (sua nova matriz formatada está em $ new_array, então você pode apenas codificar isso em json):
$new_array = array();
foreach($pdo_response as $bf) {
if(empty($new_array[$bf['volume_name']])) {
$new_array[$bf['volume_name']] = array("key" => $bf['volume_name'], "values" => array());
}
$new_array[$bf['volume_name']]['values'][] = array("x" => $bf['recoreded'], "y" => $bf['volume_files_used']);
}
Use array_values() se quiser chaves numéricas (0 - ....) para a primeira dimensão.