I think this will do it:
UPDATE
BLL
SET
BLL.Status = 'Close'
FROM
BLL
INNER JOIN
(SELECT BML.Batch_Id,
FROM BML
INNER JOIN BLL ON BML.Batch_Id = BLL.Batch_Id
GROUP BY BML.Batch_Id
HAVING Count(Distinct BML.Status) = 1 AND MIN(BML.Status) = 'Close') CloseList
ON
BLL.Batch_Id = CloseList.Batch_Id
So the nested query creates a list of the valid close states which is joined to the target table to restrict the rows which are updated.
The query creates a join from the source table to target table and groups on batch id selecting just rows where there is one 1 distinct status and the value of the status is 'Close'.
SELECT BML.Batch_Id,
FROM BML
INNER JOIN BLL ON BML.Batch_Id = BLL.Batch_Id
GROUP BY BML.Batch_Id
HAVING Count(Distinct BML.Status) = 1 AND MIN(BML.Status) = 'Close'