The problem is here:
fortunes = fortunes_file.readline()
...
fortunes = fortunes_file.readline()
You just re-defined the variable, so after that while loop end, fortunes actually is the last line in your file.
You can simply use io.IOBase.readlines() to read the file into a list line-by-line, and use random.choice() to choose an element in a list randomly. You don't need a counter and slice the list yourself.
For example:
import random
# use `with` is recommended here since you don't need close the file manually
with open("fortunes.txt", "r") as f:
fortunes = fortunes_file.readlinse()
print random.choice(fortunes)
However, if you also want to know how to fix your code, just put the output of io.IOBase.readline() into a list like below:
import random
fortunes_file = open("fortunes.txt", "r")
fortunes = []
fortunes.append(fortunes_file.readline())
count = 0
while fortunes != "":
count += 1
fortunes.append(fortunes_file.readline())
rand_line = random.randint(1, count)
print fortunes[rand_line]
fortunes_file.close()
Note that if you don't want use .readlines() and random.choice(), you still don't need that counter, you can also use len(fortunes) to get the length of your list instead of write a useless counter yourself.