It's just the way the Juniper config is built. Underneath it's all XML and there you have multiple prefix-lists on one level which each have their name as <name>
tag on the level below (a child element in XML). Your lists would be:
<prefix-list>
<name>snmp-permit</name>
<prefix-list-item>
<name>1.1.1.0/24</name>
<prefix-list-item>
</prefix-list>
<prefix-list>
<name>icmp-permit</name>
<prefix-list-item>
<name>2.2.2.0/24</name>
<prefix-list-item>
</prefix-list>
The CLI then displays this as text so you have multiple prefix-list <name>
entries. It's just the way the XML to text parser is written.
You can see this on the CLI by adding | display xml
to a command, like show configuration policy-options | display xml
.