Code runs twice, when it shouldn't?!

Is it possible you have two instances of the actor?

Change your log to look like this.

UE_LOG(LogTemp, Warning, TEXT("Number= %i %s"), RandNum, *GetNameSafe(this));