if statement Vector3 check failed

Hello everyone, I’ve recently faced with problem, that connected with if statements. I’ve created 2 UI buttons (arrow left and arrow right) and put on them my script with voids. I’m developing a game, where if you click on left button, platform will be moving to the left side and if you click on right button, platform will be moving on the right side. Platform is moving with previously created animations. Platform has 3 stages of it’s position: center, left, right. So, if you are on the right side and clicking on the left button, you’re moving to center, if you are in center and clicking on the left button, you are moving to the left side. There is no problems. But when you are on the left side and clicking on the right button, animation of moving doesn’t work. For notice, animations are allright and working good, there a problem with checking Vector3 coordinates. But I copied Vector3 positions when I was creating animations and pasted them to my script. Left button works good, but right button works only from center.
Here’s the code

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.EventSystems;

public class ArrowsButtons1LevelInTheEnd : MonoBehaviour
{
    public GameObject arrowLeft;
    public GameObject arrowRight;
    public GameObject movablePlatform;
    public Animation lightColorChanger;
    public Animation platformMovingAnimation;
    public Transform movablePlatformTransform;
    public AudioSource buttonSound;

    private string colorChangerAnimName = "LightColorChanger";
    private string platformMovingFromCentreToLeftAnimName = "SeparatedPlatformMovingFromCentreToLeft";
    private string platformMovingFromLeftToCentreAnimName = "SeparatedPlatformMovingFromLeftToCentre";
    private string platformMovingFromRightToCentreAnimName = "SeparatedPlatformMovingFromRightToCentre";
    private string platformMovingFromCentreToRightAnimName = "SeparatedPlatformMovingFromCentreToRight";
    public void LeftArrowClick()
    {
      
        buttonSound.Play();
        if (movablePlatformTransform.position == new Vector3(25.4f, 136.0685f, -72.16f)) //if platform is in front of the gate it will be moved to the left
        {
            gameObject.GetComponent<UIScript>().ArrowsLeftRightDisable();
            lightColorChanger.Play(colorChangerAnimName);
            platformMovingAnimation.Play(platformMovingFromCentreToLeftAnimName);
        }
        if (movablePlatformTransform.position == new Vector3(9.87f, 136.0685f, -72.16f)) //if platform is on the right side it will be moved to the center
        {
            gameObject.GetComponent<UIScript>().ArrowsLeftRightDisable();
            lightColorChanger.Play(colorChangerAnimName);
            platformMovingAnimation.Play(platformMovingFromRightToCentreAnimName);
        }
    }
    public void RightArrowClick()
    {
        buttonSound.Play();
      
        if (movablePlatformTransform.position == new Vector3(25.4f, 136.0685f, -72.16f)) //if platform is in front of the gate it will be moved to the right
        {
            gameObject.GetComponent<UIScript>().ArrowsLeftRightDisable();
            lightColorChanger.Play(colorChangerAnimName);
            platformMovingAnimation.Play(platformMovingFromCentreToRightAnimName);
        }


        //here I have problem
        if (movablePlatformTransform.position == new Vector3(38.96f, 136.0685f, -72.16f)) //if platform is on the left side it will be moved to the center
        {
            print("Coordinates are right");
            gameObject.GetComponent<UIScript>().ArrowsLeftRightDisable();
            lightColorChanger.Play(colorChangerAnimName);
            platformMovingAnimation.Play(platformMovingFromLeftToCentreAnimName);
        }
    }
}

I’m asking for help and I don’t know why statement check always fails.

Please, don’t say that in code I have useless variables, I’ve already deleted them.

You cannot compare Vector3s with == due to floating point value prescision, the values will (essentially) NEVER be equal
you should do something like
if( (a - b).magnitude < smallThreshold )

Thanks