How does the assumption that symbols are equi-probable hold
If I draw a number uniformly between zero and one, what is the
  probability that they are equal? Mathematically, it should be zero but
  I don't recall why? Can somebody please help in explaining why the
  probability should be zero?


Avoiding formal definitions of (Lebesgue) probability measure, an informal way is thinking the probability at a point of a uniformly distributed random variable is $\frac{1}{\textrm{number of points}}$. Then the number of points of real values between zero and one is infinity, thus the probability must be $\frac{1}{\infty} = 0$.


  For example, there is still a chance,  that when generating six random
  numbers they will be all 1 or all 0? So if the probability is zero
  then why in digital communications do we assume that the symbols are
  $iid$ and that if the symbols are 0 and 1, 50% of them will be 1 and
  the rest will be 0 i.e., why do we assume equi-probable symbol
  probabilities when theoretically they cannot be equal?  In Matlab, I
  tried my best to generate a large sequence of 0/1 but never did I get
  equi-probable symbol probabilities.


The previous arguments change if we divide the interval $[0,1]$ to several sub-interval of width $\Delta$. Thus the probability falling on each sub-interval is $\frac{1}{1/\Delta}=\Delta \neq 0$.

In your example, $\Delta = 0.5$ yields two sub-intervals and each has probability $0.5$. That's where the equiprobable symbol assumption holds.

Experimentally, e.g. with Matlab, you (almost surely) never get exactly the probability $\Delta$ because the number of tests is always finite.