You're setting your position equal to your velocity. Your velocity is very small because it's multiplied by delta time. This results in very small changes to your position, constrained to a very small area. Your object is moving, it's just not noticeable because the changes are so small. Additionally, all the small changes are not adding up because you're setting the position each time, instead of adding to it.
What you really want is to change your position with respect to time.
var x = Random.Range(-4.37,4.34);
var y = Random.Range(4.45,-4.66);
var velocity = Vector3(x, y, 0);
transform.position += velocity * Time.deltaTime;
This creates a random velocity, then changes the position of the object based on that velocity.
Sorry I misread your question. I saw your velocity variable and thought you wanted to move the object over time. But your description says you want it to appear at random locations. Simply change this line:
transform.position += velocity * Time.deltaTime; to
transform.position = velocity; To make it appear at a random location (I'd also suggest renaming the variable from
velocity, because that indicates a change in position over time).