Do I always need to put a hyphen in "по-английски" or are there some rules telling us when I should and when I should not do so?
"По-английски" is an adverb that is derived from a full-formed adjective "английский" and that ends with "ки".
According to the rules of Russian spelling (Rosental, D.E.), such adverbs are written with a hyphen. You can find the original rule down the link, and here is its translation into English:
Adverbs with prefix по- and endings -ому, -ему, -ки, -ьи that are derived from a full-formed adjectives or pronouns are written with a hyphen. For example: работать по-новому, пусть будет по-вашему, советовать по-дружески, говорить по-французски, хитрить по-лисьи, по-видимому, по-пустому, по-прежнему. Also: сделаем по-серёжиному (derived from a possessive adjective серёжин, which stems from proper name Серёжа).
Also, "по-английски" is always an adverb. It cannot be seen as a combination of a preposition and an adjective, because no adjective can have ending и in dative case with which preposition по is used. That means that "по-английски" is always written with a hyphen.