Without using complex maths or using Area2D nodes I think the best way is checking the distances.
Since they are Node2D they have
When generating them you have to add them to the scene but I suggest you to keep track of them using an array.
As soon as you create a new node, iterate through all existing sprites (stored in the array)
and check if
sprite.global_position.distance_to(existing_sprite_pos) is <
If it is less that a given minimum distance, create a new position and try again.
It may not be the best solution from a computational point of view but it also depends on the size of your problem.