Can not double jump when i fall off platform

Below is my script.
I am making a 2D platform running game.
My player is able to do double jump. However, when I fall off the edge of the platform i can only do 1 jump.

My script is only saying to double jump when I am grounded.
I want to be able to do double when I am grounded and when i am not.

Thankyou

 void Update()
        {
            grounded = Physics2D.IsTouchingLayers(myCollider, whatIsGround);
            myRigidbody.velocity = new Vector2(moveSpeed, myRigidbody.velocity.y);

            if (Input.GetMouseButtonDown(0))
            {
                if (grounded)
                {
                    myRigidbody.velocity = new Vector2(myRigidbody.velocity.x, jumpForce);
                    stoppedJumping = false;
                }
                if (!grounded && canDoubleJump)
                {
                    myRigidbody.velocity = new Vector2(myRigidbody.velocity.x, jumpForce);
                    jumpTimeCounter = jumpTime;
                    stoppedJumping = false;
                    canDoubleJump = false;
                }
            }
    
            if ((Input.GetMouseButton(0)) && !stoppedJumping)
            {
    
                if (jumpTimeCounter > 0)
                {
                    myRigidbody.velocity = new Vector2(myRigidbody.velocity.x, jumpForce);
                    jumpTimeCounter -= Time.deltaTime;
                }
            }
    
            if (Input.GetMouseButtonUp(0))
            {
                jumpTimeCounter = 0;
                stoppedJumping = true;
            }
    
            if (grounded)
            {
                jumpTimeCounter = jumpTime;
                canDoubleJump = true;
            }
        }

public float jumpHeight = 100;
public bool groundCheck;
private const int Max_Jump = 2;
private int currentJump = 0;
public Rigidbody rb;

    void start (){
        rb = GetComponent<Rigidbody> ();
    }

    void Update ()
{
   
            if (Input.GetButtonDown ("Jump") && (groundCheck || Max_Jump > currentJump)) {

                rb.velocity = new Vector3 (0, jumpHeight );
            groundCheck = false;
            currentJump++;
            {

            }
        }
    }
    void OnCollisionEnter (Collision other){
        if (other.gameObject.tag == "Ground") {
            groundCheck = true;
            currentJump = 0;
        }
    }
}