Going by what @JacobPeattie said, that they are still set but empty you need to change the conditional login to check for empty.
In our previous discussion I wrote this conditions
if ((isset($_POST['categoryfilter1']) && !empty($_POST['categoryfilter1'])) && (isset($_POST['categoryfilter2']) && !empty($_POST['categoryfilter2']))) {
// both properties are set and have value (not empty)
} elseif ((isset($_POST['categoryfilter1']) && !empty($_POST['categoryfilter1'])) && (!isset($_POST['categoryfilter2']) || empty($_POST['categoryfilter2']))) {
// only categoryfilter1 is set and has value and categoryfilter2 is either not set or set but has no value
} elseif ((!isset($_POST['categoryfilter1']) || empty($_POST['categoryfilter1'])) && (isset($_POST['categoryfilter2']) && !empty($_POST['categoryfilter2']))) {
// only categoryfilter2 is set and has value and categoryfilter1 is either not set or set but has no value
}
Try using it and see if it helps
EDIT
I dont know what post type you want to get but try adding it to the $args as well.
So you initial $args will look like this
$args = array(
'post_type' => 'post',
// 'post_status' => 'publish', // this is optional, this will get only published posts
'orderby' => 'date',
'posts_per_page' => -1
);
I think that this creates the problem