Is the block fully utilized, as in is its capacity fully used ?
Depends on the miner. They can choose to include every transaction that they see or not. The block doesn't necessarily have to be full at all.
For other transaction, is it included in the same block if the block is not full ?
The miner will decide which transaction they wish to include before they even start to mine and solve the block. When they get the block that corresponds to the target, they cannot change any variable in the block or the whole hash will be changed.
how does miner check which block is the latest, if the same block is being mined to confirm new transactions ?
Blocks are propagated across the network and the miner runs a node. When they detect a node that is mined at the current height, they will discard the current block header (containing merkle root, last block hash, block height) and adjust it such that the block height, block hash corresponds to the correct one and the transactions aren't included twice.
The miner builds the chain on top of the last block.