Ok I found the solution.
Actually taxonomy name on icl_translation table is stored with prefix called “tax_” which means taxonomy. The above code would work like this:
$trid = $sitepress->get_element_trid($englist_term_id, "tax_taxonomy_name");
$sitepress->set_element_language_details($new_term_id, "tax_taxonomy_name", $trid, $lang_code, $sitepress->get_default_language());
The difference is tax_ prefix.
Cheers!