Why does getting a single block in NEO prevent getting the remainder of the blocks?
This is because of a change in Craft 3 and you need to clone your query (docs).
I have not tested this but the below should work:
{% set blocks = entry.nutritionBuilder %}

{% set item = clone(blocks).type('blockCalories').one() %}
{{ item.nutritionValue }}

{% for block in clone(blocks).level(1).all() %}
    ...
{% endfor %}