TL:DR -
Hebrew genealogies are sometimes exact, but sometimes they are a less exact line of succession with a theological purpose. Differences in purpose can account for the differences in similar genealogies.
The Purpose of Hebrew Genealogies
In order to understand the answer first here are some some general insights into Hebrew Genealogies. Hebrew genealogies are a literary form with a purpose, so the question that needs to be asked is "What is the purpose of including this genealogy?".
In Tremper Longman III's book How to Read Genesis (page 104) he explains that whilst some Biblical genealogies may aim to be exact records others simply aim to show a line of descent. In that case skipping generations was not an issue for the authors or recipients. The features of which can be compared similarly to other Ancient Near East genealogies (see again How to Read Genesis).
The Chronicler is recording the genealogies with a theological and political purpose in mind. In this case the Chroniclers larger purpose is concerned with establishing that Israel is still made up of the twelve families of Jacob (John Sailhamer - First and Second Chronicles, p27).
The exact reasons for those specific differences may not be clear. But it does makes sense for there to be differences if the purpose of the genealogy is grander than providing an exact family tree.
A Resolution to the differences?
Purpose of Samuel 1:1
To show that Samuel was born into a Levite family (from Levitcal area of Ephraim).
The General Purpose of the Genealogies in Chronicles
To show that the 12 tribes of Israel were still intact.
1 Chronicles 6:20-29 vs 33-38
The Reference work on this information is James T. Sparks - The Chronicler's Genealogies: Towards an Understanding of 1 Chronicles 1-9 - the relevant section is available as a preview on Google Books
His conclusions on this section:
- Both lists used a common source but were produced for different purposes
- The purpose of the first list is to establish Joel and Abijah as levites. Levite lists are structured to place a particular clan (group of families)
- The purpose of the second list is to establish Heman, not as a levite but as head of the singers. Singer lists are structured to place a particular family.
- The differences in purpose and form (ascending vs descending) probably account for the differences in names
- The identical or similar names are in the same order in the two lists
- The differences in the spellings of some names can be attributed to scribal errors (see page 102 for the discussion, it requires some knowledge of the Hebrew language)
The purpose of these Genealogies is to establish the legitimacy of those in office within the tribe of Levi. For the Hebrews, the important thing was that they could accurately and reliably show the purposes of these genealogies to be true.
The differences are likely due spelling mistakes, difficult to translate Hebrew and the omission/inclusion of names in order to stay true to the sub-purpose of the specific genealogy (Levite list vs Singer list).