Why is 名字 used with 叫, but 姓 isn't?
From my answer to this question: Why is there such a difference between &quot;first name&quot; and &quot;last name&quot;?

&quot;你姓什么?&quot; - the noun '姓' here is acting like a verb (is family-named)
.......
We only use 名字 as a noun, therefore we need a verb '是'(is) or '叫'(called) when asking what is someone's name. e.g. &quot;你的名字是什么&quot; or &quot;你的名字叫什么&quot;

When you say &quot;我姓李&quot;, the word &quot;姓&quot; is acting like a verb
&quot;我[姓]李&quot; = &quot;I [am family-named] Lee&quot;
When you say 我名字叫李小龍, 名字 cannot only be treated as a noun, not a verb, therefore you need to add a verb '是'(is) or '叫'(called)
From another related post: What happens when you use the individual characters in 姓氏 and 名字?*

For example:
曹操 Cao Cao
姓:曹 (is last-named: Cao)
名:操 (is first-named:Cao)
字:孟德 (is courtesy-named: Meng Deo)

When you use just 名 instead of 名字 , you can omit &quot;叫&quot; and treat &quot;名&quot; like a verb, and say  &quot;我姓曹名操&quot;  instead of &quot;我姓曹, 名字叫操&quot;
The reason for omitting &quot;叫&quot; is: &quot;名&quot; (is first-named) already acting as a verb, the verb &quot;叫&quot; (is called) is redundant