The icon is there to draw someones attention to the label, it is not a label itself. The label should speak for itself and doesn’t need an aria-label attribute either.
To quote W3.org:
If the label text is visible on screen, authors SHOULD use aria-labelledby and SHOULD NOT use aria-label.
So instead of aria-label you can do something like:
<span class="attention" aria-labeledby="invalid-email-alert"></span>
Please enter a valid email address.
But I don't think you have to add
aria-labeledby to the icon because it has no particular significance over the label. It is clearly meant to draw attention to the label for people who can see and should be ignored by screen readers.
To make form validation more accessible you can add a aria-invalid attribute to the input:
<input type="text" name="email" aria-invalid="true" aria-labeledby="invalid-email-alert">
Aria attributes should be used only where they are relevant and are used here
to draw attention to the invalid input for screen readers, just as the icon does for people depending on their eyes to scan the page.