There are a bunch of confusions here. Let's start with the last one.
But in OSPF also get to know the routes to it's neighbors after flooding and this neighbor also share routes it's neighbors and so on.
It does not(!!!!!). In link state routing neighbors do not share routes of its neighbors, their share topology of their neighbors. Link state routing protocol takes this topology, reconstructs a network graph and computes routes. This is fundamentally different from distance vector, where neighbors share their computed routes.
Now about the rest.
OSPF uses flooding to unicast message (just share the routes ) to neighbor routers.
No it does not. (1) flooding is used to reach all routers (2) these messages may use multicast (on a single hop). (2) is not that relevant to understand basic principles.
A) how more than one routers uses in same subnet? Because one router is sufficient for one subnet to subtends all the information of the same subnet.
If there is only one router on the same subnet, then it does not share routing information on the same subnet. It could try, but none else can receive it.
You are missing the concepts here. On the edge of Internet we usually have organizations that use Layer-2 within their local network. This network is assigned a block of IP addresses and is usually called subnet. In order to be connected to the Internet it does need to have at least one router. This is not the only think subnet can refer to.
In the context of routing protocols we are talking about point-to-point and broadcast links. Point-to-point link is equivalent to a cable between two devices. Broadcast link means that (1) there are more than one device connected to this link (2) the layer 2 has broadcast capabilities, i.e., it is possible to use special broadcast address to deliver packets to all connected devices. The consequence is that it is possible to send a separate packet to each other router, but it is more efficient to send on broadcast packet. There are more consequences coming from the nature of such networks.
This is taken into account in order to answer the question: how to most efficiently transmit routing information over a single hop. It is not related to the question on how to transmit routing information between all routers in the network.
B) In distance vector routing after broadcasting the routing table to router
So, as i said, in theory it can very well send a unicast to each router specifically. Here, by saying broadcast we usually mean that the packet has to reach all neighbors on the same link.
Also it is worth noting, that you can use multicast on point-to-point links connected directly (by a cable). On such a link one device can only send packet to the other device, so addressing does not matter.
From what I know, and I saw this confusion in a number of university courses about RIP, RIP actually does assume that all routers are connected by broadcast links. And the way it works makes sense for broadcast links. I am however not 100% sure about this.
@Ron it isn't not actually difference between DVR and OSPF.
DVR which presumably stands for distance vector routing is a class of protocols which work based on distributed Bellman-Ford algorithm. Everyone teaches RIP, but RIP is not the only DVR and the way RIP uses broadcast does not have to apply to any other distance vector routing protocol. OSPF is an example of link state routing. Again not the only example, there are at least two. You can't compare them together. What you ask in your last question does ask for the difference between distance vector and link state.
If you are trying to understand the basics, i recommend to assume that all routers are connected by direct point-to-point links (i.e., by a cable). In this context, the word broadcast w.r.t. a single hop will be - send message to all direct neighbors.
I would also recommend this open online book. It is written by a university professor with lot of experience.