Is it necessary to generate a private key for each encryption process? I read about Asymmetric key cryptography like EG-ECC , RSA, ECDH. I understand the concept of mathematics to these algorithms. But I have wondered about the public key for sender and private key for recipient. In other words,

Any other user who wants to send an encrypted message can get the intended recipient's public key from a public directory. They use this key to encrypt the message, and they send it to the recipient. When the recipient gets the message, they decrypt it with their private key,
How much is the length of the message here is it necessary to have the message length smaller or equal to the length of the public key or the message can be any length of random words, can be divided into more than one block in this case we will use the sender's public key  more than one time. Is the process of generating keys occur in the process of block encryption or message (size greater than size key) encryption?
As you have correctly identified, there is a problem that with public key encryption you cannot encode long messages in an efficient way. Your message must be an element of a finite group and may therefore not exceed a certain number of bits.

Therefore often a hybrid approach with symmetric and asymmetric encryption is used. That is: 


The sender encrypts his long message using a symmetric algorithm, using a randomly chosen secret key K.
The sender encrypts the secret key K using the public key of the recipient.
The sender sends the symmetrically encoded message and the asymmetrically encoded key K to the recipient.
The recipient first recovers K and then decrypts the long message.