Eu recomendaria isso.
Você (e deve) ter sua própria noção para verificar a origem dos dados e a intenção do usuário. Se você tiver apenas um nonce para um metabox - terá problemas se esse metabox for removido (não o mesmo que oculto). Se removido, o segundo metabox nunca (ou pelo menos deve) será salvo, pois o nonce é enviado por mais tempo.
Obviamente, do ponto de vista da segurança, nada é adicionado por um segundo nonce - a menos que você deseje atualizar apenas um metabox e não o outro: nonces devem ser exclusivos da ação .
Editar
Conforme indicado, existe apenas um formulário para a tela de pós-edição. Portanto, em teoria, você precisa apenas de um campo diferente para validar a ação e a origem dos dados. No entanto, como os metaboxes podem ser removidos - tendo um campo nonce em apenas um metabox, não há garantia de que o nonce estará lá. Ao colocar um campo nonce em cada metabox, você pode verificar se os dados desse metabox foram enviados (e realmente são de onde você pensa que são) antes de processar qualquer dado. Por exemplo:
save_post_call_back($post_id){
//Check this is not an auto-save route
if(nonce of metabox1 present and valid){
//Process data from metabox1
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
if(nonce of metabox2 present and valid){
//Process data from metabox2
}else{
//Either metabox removed - or invalid nonce. Take no action.
}
}
O nome do campo nonce deve ser exclusivo para o metabox (e não entrar em conflito com outros nonces presentes no formulário de outros plug-ins).
O valor de nonce deve ser exclusivo da ação (e isso geralmente deve incluir a origem dos dados (por exemplo, editar postagem ao invés de edição rápida)). Geralmente, também incluo o ID da postagem.
<form>
tag na página de administrador. o campo nonce deve ser exclusivo do formulário ou não? tia, @Stephen