Custom post type with slug for plural (archive) and for single

Both of these are controlled by the arguments passed to register_post_type, specifically, the rewrite and has_archive arguments:

$args = [
    'rewrite' => ['slug' => 'article'],
    'has_archive' => 'articles',
    // the rest of your arguments...
]