WordPress always display the first menu

You are mismatching argument and input.

In rather confusingly worded way register_nav_menus() creates menu locations rather than actual menus. While menu argument in wp_nav_menu() expects menu as created in admin.

Since you seem to want to display menu, assigned to specific location, change menu in arguments to theme_location.