How do I make an array to get the category name, dynamically, in an archive template?

You can try something like:

if ( is_category()  ) {

    $cat = get_category( get_query_var( 'cat' ) );

    // $cat_id = $cat->cat_ID;
    $cat_name = $cat->name;
    // $cat_slug = $cat->slug;

    $args = array(
        'category_name' => $cat_name,
        'post_type' => 'post',
        'orderby' => 'menu_order',
        'order' => 'DESC',
    );

... 

The function you are looking for is get_category, as well as is_category to check that the query is for an existing category archive page.