I guess you want to delete all meta values from all posts with this:
delete_metadata('post', null, $meta_key, null, true)
See the documentation which says, that the last argument is ment to delete all entries from all objects:
delete_metadata($meta_type, $object_id, $meta_key, $meta_value="", $delete_all = false)
$delete_all
(boolean) (optional) Optional, default is false. If true, delete
matching metadata entries for all objects, ignoring the specified
object_id. Otherwise, only delete matching metadata entries for the
specified object_id. Default: false
https://codex.wordpress.org/Function_Reference/delete_metadata
Afterwards you can use wp_get_recent_posts()
to get the latest post from a category and assign the meta value there.
https://codex.wordpress.org/Function_Reference/wp_get_recent_posts