Some posts not displaying by taxonomy term

The problem is with your tax_query — the field (database column name) does not match the terms (database column values):

$args = array(
    ...
    'tax_query'      => array(
        array(
            'taxonomy' => 'state',
            'field'    => 'name',      // <- this should be set to 'slug'
            'terms'    => $state_slug, // because you provided term slug
        ),
    ),
);

I.e. If you provide term slugs (e.g. foo-bar), then the field should be slug; if you provide term names (e.g. Foo Bar), then the field should be name.