Nil represents that you’re variable was never initialized (I guess it’s the same as in Lua scripts).
For this case in particular, see if the Scene that you’re running contain $HealthLabel.
Also, if the $HealthLabel is a node from a scene being instantiated inside other scene, you should to pass the whole path to that node from the node that contains your script.
For example, if you have a Scene like:
CharacterBody2D
Node
HealthLabel
You will have to pass @onready var _health_label: Label = $‘Node/HealthLabel’
If otherwise, you have:
Node
HealthLabel
CharacterBody2D
You will have to pass @onready var _health_label: Label = $‘…/Node/HealthLabel’
The two dots use is the same as in the cd command on Linux, it’s used to go one level upper in the hierarchy.