why do we need different vlans with same subnet on cisco asa firewall. can't we have same vlan on all interfaces with different ip addresses from same subnet on it?
The ASA uses bridge groups for transparent firewall configurations. Bridge groups require distinct interfaces, which includes the vlan tag.
If you dont want multiple firewall contexts to share the same physical interface on the ASA, you can simply put two physical interfaces (using their untagged native vlan) in the same bridge group.
If you need dot1q trunks on the firewall with multiple transparent firewall contexts sharing the same physical interface, then you're stuck with bridging two different vlans. The good news is that many Cisco switches have vlan translation capabilities (also called vlan mapping); see the question I linked for one example of how I worked around the problem by retranslating one of the dot1q trunks with vlan mapping.