Just because the bible references Jesus’ “brothers” and “sisters” (Matthew 13:54-56 and Mark 6:3) doesn’t mean these individuals are Jesus’ blood brothers and sisters (coming from the same womb). If the usage of the word “brother” (Greek–adelphos) always meant a literal brother, then we would have to say Lot was Abraham’s sibling since the Greek version of Genesis 14:12-14 uses adelphos to describe Lot’s relation to Abraham. But we know this is not the case because Lot was Abraham’s nephew. Furthermore, Luke uses adelphos when Ananias calls Paul “brother” in Acts 9:17 but that doesn’t mean Ananias and Paul came from the same womb.
Therefore, the conclusion, “Jesus had blood brothers,” doesn’t follow from the premise, “the bible says Jesus had brothers.” The same reasoning would apply to the usage of sisters.
So what did Matthew and Mark mean? One explanation is that they were Joseph’s children from a previous marriage (the assumption being Joseph was a widower), which would make these individuals Jesus’ stepbrothers and stepsisters. This was a view common around the time of St. Jerome.
It’s also possible, however, that they were cousins of Jesus. This seems to be a plausible explanation because Matthew refers to these “brothers” of Jesus as being the sons of another Mary in Matthew 27:56, whom John refers to as “Mary wife of Clopas” and the “sister” of Jesus’ mother in John 19:25. Whether John is using “sister” in the literal or more general sense, the relation this Mary has with Jesus’ mother would make the “brothers” of the Lord his cousins.